me Haver un simple lista de botones de radio en mi página que me hacen con la siguiente en mi opinión:ASP.NET MVC Html.RadioButton Excepción
<label for="gender">Gender</label>
<%= Html.RadioButton("gender", 1) %> Male
<%= Html.RadioButton("gender", 2) %> Female
<%= Html.ValidationMessage("gender") %>
Tenga en cuenta que cuando el usuario ve inicialmente esta entrada, ninguno de los botones está seleccionado. La validación está allí para obligarlos a elegir y no aceptar un valor predeterminado. Por lo tanto, estos dos botones de radio se unen a una anulable propiedad int en mi modelo declarada como:
public int? gender { get; set; }
Así que si no seleccionan un botón, y se someten a la página, la propiedad de género será nula que indica que se no seleccionó La siguiente validación es llamado por el controlador durante el mensaje:
if (!gender.HasValue)
ModelState.AddModelError("gender", "gender required");
Pero, si falla la validación (que no eligieron), a continuación, durante la fase de representación, la siguiente excepción es lanzada por el marco MVC:
System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
En la búsqueda de una solución a este problema, noté que varios tenían este problema. Estoy usando ASP.NET MVC 1.0. Encontré el lugar en el código donde se produce este error utilizando .NET Reflector.
La pregunta es cómo hacer que esto funcione correctamente?
EDIT: añadir StackTrace:
System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="System.Web.Mvc"
StackTrace:
at System.Web.Mvc.HtmlHelper.GetModelStateValue(String key, Type destinationType)
at System.Web.Mvc.Html.InputExtensions.InputHelper(HtmlHelper htmlHelper, InputType inputType, String name, Object value, Boolean useViewData, Boolean isChecked, Boolean setId, Boolean isExplicitValue, IDictionary`2 htmlAttributes)
at System.Web.Mvc.Html.InputExtensions.RadioButton(HtmlHelper htmlHelper, String name, Object value, Boolean isChecked, IDictionary`2 htmlAttributes)
at System.Web.Mvc.Html.InputExtensions.RadioButton(HtmlHelper htmlHelper, String name, Object value, IDictionary`2 htmlAttributes)
at System.Web.Mvc.Html.InputExtensions.RadioButton(HtmlHelper htmlHelper, String name, Object value)
at ASP.views_vbs_register_aspx.__RenderregisterContent(HtmlTextWriter __w, Control parameterContainer) in c:\Users\David\Documents\BellevueProject\Bellevue\BellevueTeachers\Forms\Views\VBS\Register.aspx:line 42
¿Puede mostrar el seguimiento de la pila? o la línea donde ocurre el error? – tvanfosson