asp.net-mvc – ASP.NET MVC Html.RadioButton异常
|
我在我的页面上看到一个简单的单选按钮列表,我在以下视图中呈现: <label for="gender">Gender</label>
<%= Html.RadioButton("gender",1) %> Male
<%= Html.RadioButton("gender",2) %> Female
<%= Html.ValidationMessage("gender") %>
请注意,当用户最初看到此输入时,两个按钮均未选中。 public int? gender { get; set; }
所以如果他们没有选择一个按钮并提交该页面,那么gender属性将为空,表示它们没有被选择。控制器在发布过程中调用以下验证: if (!gender.HasValue)
ModelState.AddModelError("gender","gender required");
但是,如果验证失败(他们没有选择),那么在渲染阶段,MVC框架会抛出以下异常: System.NullReferenceException was unhandled by user code Message="Object reference not set to an instance of an object." 在寻找解决这个问题的方法时,我注意到有几个问题。 问题是如何使这项工作正常? 编辑:添加堆栈跟踪: 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,Object value)
at ASP.views_vbs_register_aspx.__RenderregisterContent(HtmlTextWriter __w,Control parameterContainer) in c:UsersDavidDocumentsBellevueProjectBellevueBellevueTeachersFormsViewsVBSRegister.aspx:line 42
解决方法我只是尝试了一些使这项工作的东西。如果我不执行验证步骤,但是当然需要验证,则不会出现此问题。 这给了我一个解决方案的线索。 ValidationMessage HtmlHelper方法接受一个字符串参数,该参数是要验证的属性或模型对象的名称。 <label for="gender">Gender</label>
<%= Html.RadioButton("gender",2) %> Female
<%= Html.ValidationMessage("gender2") %>
而且我更改了验证码来引用这个新名称(即使该属性不存在,它仍然可以使用): if (!gender.HasValue)
ModelState.AddModelError("gender2","gender required");
这可以按需要工作。 我会以为其他应该是有效的,但这是一个简单的解决方法,我在这里记录。 编辑: 该工作仍然似乎在为验证消息使用不同的密钥名称。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Ajax.BeginForm,调用操作,返回JSON,如何在我
- asp.net-mvc – 如何从Action属性返回一个Json对象?
- 如何在IIS 7上的经典ASP中启用大型文件的上传?
- ASP.Net:货币表达式的评估格式
- iis-7.5 – IIS 7.5 Siteminder不保护ASP.net MVC请求
- ASP.NET中的%%(嵌入式代码块)
- asp.net-mvc – 不要在JSON中序列化Entity Framework类引用
- asp.net – post文件提供404页面结果,即使发布的文件在maxR
- 如何使用Server.MapPath来获取ASP.NET中的网站文件夹外的位
- asp.net 4.0:是否有相当于ClientIDMode的INPUT的名称?
- MVC ASP.NET – 手动授权某人并通过表单身份验证
- asp.net-mvc – ASP.NET MVC 6中的基本视图页面
- asp.net-mvc – AOP vs MVC FilterAttributes vs
- asp.net-mvc – Rotativa / Wkhtmltopdf图像无法
- asp.net – 如何在运行时动态地在另一个ASPX的DI
- asp.net-mvc – 具有持久HTTP连接的IDbConnectio
- asp.net – 如何使用AntiXss Library正确清理内容
- asp.net-mvc – 如何在我自己的自定义助手中使用
- 文件上传 – 是否可以在上传文件的asp.net webap
- asp.net – 如何监视SQL Server中的活动连接池?
