mvc html.radiobutton,ASP.NET MVC Html.RadioButton Exception

I haver a simple radio button list on my page that I render with the following in my view:

Gender

Male

Female

Note that when the user initially sees this input, neither button is selected.

The validation is there to force them to choose and not accept a default.

Therefore, these two radio buttons are bound to a nullable int property in my model declared as:

public int? gender { get; set; }

So if they do not select a button, and submit the page, the gender property will be null indicating that they did not select. The following validation is called by the controller during the post:

if (!gender.HasValue)

ModelState.AddModelError("gender", "gender required");

But, if the validation fails (they did not choose), then during the rendering phase, the following exception is thrown by the MVC framework:

System.NullReferenceException was unhandled by user code

Message="Object reference not set to an instance of an object."

In searching for for a solution to this problem, I noted several had this problem.

I am using ASP.NET MVC 1.0. I found the place in the code where this error is thrown using .NET Reflector.

The question is how to make this work correctly?

EDIT: to add 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值