Actualmente estoy permitiendo que una lista de selección tenga un valor inicial de "". El usuario puede elegir si desea completar esta opción o dejarla en el valor predeterminado.
Esta lista de selección funciona en una identificación, donde la identificación se pasa a mi controlador. Sin embargo, como no se selecciona un int, ModelState da como resultado False ya que la entrada era una cadena vacía en lugar de un int.
Quiero cambiar el valor de esta cadena vacía para que sea 0. Esto daría como resultado que ModelState sea True. He estado mirando la clase de diccionario ModelState, para poder cambiar la clave, el par de valores antes de que se verifique ModelState. Sin embargo, no he podido usar esto con éxito.
https://msdn.microsoft.com/en-us/library/system.web.mvc.modelstatedictionary(v=vs.118).aspx
Cualquier ayuda sería muy apreciada.
Intenta usar
ModelState.SetModelValue("PropertyID", new ValueProviderResult("New value", "", CultureInfo.InvariantCulture));Aquí hay un artículo útil.
solo podrias eliminar el error
if (ModelState.ContainsKey("{key}")) ModelState["{key}"].Errors.Clear(); if (ModelState.IsValid) { }