asp.net-mvc – Html.Hidden字段未设置
发布时间:2020-12-16 09:17:20 所属栏目:asp.Net 来源:网络整理
导读:我的视图中有一个隐藏的字段,如下所示: using (Html.BeginForm("Action","Schedule")){ @Html.Hidden("Id",Model.Schedule.Id) ...} 以及一个接收如下信息的动作方法: public ActionResult AddEventToSchedule(Event NewEvent,Guid Id){ // Do something}
我的视图中有一个隐藏的字段,如下所示:
using (Html.BeginForm("Action","Schedule")) { @Html.Hidden("Id",Model.Schedule.Id) ... } 以及一个接收如下信息的动作方法: public ActionResult AddEventToSchedule(Event NewEvent,Guid Id) { // Do something } 即使Model.Schedule.Id不为空,我仍然会传入一个空的Guid.我检查了html源代码,隐藏字段也是一个空的Guid(使用断点来验证Model.Schedule.Id不为空). 奇怪的是当我尝试通过下面的模型访问Id值时,html隐藏字段使用guid正确填充,但传递给action方法的模型为空. public ActionResult AddEventToSchedule(Event NewEvent,ScheduleModel model) { // model.Schedule is null! } 解决方法
在这个问题的帮助下想出了这个:
MVC3 Model Binding – List to Hidden fields 显然,HTML帮助程序在检查Model之前检查ModelState的值. 我在行动方法中添加了这一行,现在一切正常: ModelState.Remove("Id") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – “viewstate MAC的验证失败.如果这个应用程序由
- .net core使用HttpClient发送代理请求_程序内抓包_Fiddler抓
- asp.net-mvc – 强制剃刀不逃避网址
- ASP.Net HttpHandler ProcessRequest()触发两次
- asp.net-mvc – IE9从URL中删除#part(适用于Firefox!)
- asp.net-mvc – 仅将值从EditorTemplate传递到其布局模板,在
- 什么OverrideAuthenticationAttribute是为什么?
- RSS2.0中文规范详解及示例
- asp.net-mvc – 如何使actionFilter on action方法优先于控
- asp.net-mvc – 如何从基本控制器获取操作名称?