asp.net-mvc – 输入类型=“隐藏”vs htmlhelper奇怪的问题
发布时间:2020-12-16 09:35:33 所属栏目:asp.Net 来源:网络整理
导读:我花了一个小时试图弄清楚为什么隐藏字段中的值与我期望的值不同.作为最后的努力,我把它切换到一个隐藏的领域,它开始渲染为我期待的那个.为什么会这样? 某些上下文是使用htmlhelper的ID正在使用的ID与querystring ID参数中的ID相同. // renders 123 @using
我花了一个小时试图弄清楚为什么隐藏字段中的值与我期望的值不同.作为最后的努力,我把它切换到一个隐藏的领域,它开始渲染为我期待的那个.为什么会这样?
某些上下文是使用htmlhelper的ID正在使用的ID与querystring ID参数中的ID相同. // renders 123 @using (Html.BeginForm()){ <input type="hidden" name="id" value="@Model.ID" /> } VS // renders 456 @using (Html.BeginForm()){ @Html.Hidden("id",Model.ID) } 解决方法
我相信这是MVC命名约定的一部分.这发生在我身上,因为我的一个模型属性是“标题”,它与ViewBag.Title冲突.它开始显示ViewBag.Title而不是实际的Model’s Title.
我相信只有在HtmlHelper中明确声明“Model.ID”时才会发生这种情况.它查看属性名称“ID”,然后查看ViewContext并查找查询字符串“ID”并使用它. 对于不使用HtmlHelper的查询字符串,它不使用查询字符串“ID”,因为它不会通过ViewContext查找该名称;它只是放置模型中的任何值. HtmlHelpers通常会查看ViewContext,并根据属性名称确定要使用的值,而不是它的确切来源. 如果你想使用HtmlHelper,试试看它的作用: @Html.HiddenFor(model => model.ID) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 带密码的.NET核心分布式Redis缓存
- asp.net-mvc-3 – 为什么Visual Studio不会破坏这个未处理的
- ASP.Net的最佳免费文件管理器
- Asp.net MVC 3:控制器中的模型是空的吗?
- asp.net-mvc – 如何将Mask放入文本框?
- asp.net-mvc – MVC asp.net:提交多个表单
- asp.net-mvc – MVC 5没有将名为“action”的参数设置为传递
- 具有任意数量的键值对的ASP.NET路由 – 是否可能?
- asp.net-mvc – ASP.NET MVC:使用EF实体作为模型?
- asp.net-mvc – 如何使用ASP.NET MVC的plupload包?
推荐文章
站长推荐
- ASP.Net在页面中的页面/控件上调用Dispose,还是必
- asp.net-mvc – 使用ASP.NET Identity 2.0 UserM
- asp.net – 问题检查后面的代码中的单选按钮
- asp.net – 基于基于角色的安全隐藏Html.ActionL
- asp.net – AngularJs ServiceStack应用程序的安
- 使用Ajax更新ASP.Net MVC项目中的报表对象方法
- ASP.NET webform的Bootstrap
- asp.net-mvc – ASP.Net MVC 5 w /身份2.2.0注销
- asp.net-mvc – 如何在全局级别添加AuthorizeAtt
- 如何使用ASP.NET中的C#代码以PDF,HTML和DOC格式导
热点阅读