ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映在服务器
发布时间:2020-12-16 00:17:40 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET MVC3中使用Ajax.BeginForm帮助程序提交一个表单,该表单用服务器上设置的表单中的新值替换自己.但是当我使用像Html.TextBoxFor这样的帮助器时,我得到了提交的值,而不是我在服务器上插入模型的值. 例如;我在动作中将SomeValue设置为4并将其显示在
我在ASP.NET MVC3中使用Ajax.BeginForm帮助程序提交一个表单,该表单用服务器上设置的表单中的新值替换自己.但是当我使用像Html.TextBoxFor这样的帮助器时,我得到了提交的值,而不是我在服务器上插入模型的值.
例如;我在动作中将SomeValue设置为4并将其显示在文本框中.我将值更改为8,点击提交,并期望在文本框中将值更改回4,但由于某种原因它保持为8.但如果我输出SomeValue而不使用Html助手,则表示4.任何人都有一些关于到底是怎么回事? 我的控制器: public ActionResult Index(HomeModel model) { model.SomeValue = 4; if (Request.IsAjaxRequest()) return PartialView(model); return View(model); } public class HomeModel { public int? SomeValue { get; set; } } 我的观点(请注意,我的布局页面中没有所有必需的javascript): <div id="ajaxtest"> @using(Ajax.BeginForm(new AjaxOptions{ InsertionMode = InsertionMode.Replace,UpdateTargetId = "ajaxtest",HttpMethod = "Post" })) { @Html.TextBoxFor(model => model.SomeValue) <input type="submit" value="Update" /> } </div> 解决方法
您可以使用
ModelState.Clear() 在您的控制器方法中,使html助手使用您更改的模型.否则,他们使用表单提交中的值 看看:Asp.net MVC ModelState.Clear (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 如何在ASP.NET MVC3控制器中访问autofac容
- ASP.NET应用程序不反映区域设置
- asp.net – 向GridView Row添加ID
- asp.net – SignalR(Hub)可以发送除信号制作者之外的消息吗
- asp.net – 在ValidationSummary上动态显示bootstrap的周围
- asp.net-mvc-3 – ASP.NET AJAX.BeginForm发送多个请求
- asp.net – Jquery验证插件是否需要表单标记?
- ASP。net下ispostback的用法
- asp.net-mvc – ‘Personal’是一种类型,在给定的上下文中无
- asp.net – 将特定文件夹映射到web.config中的HttpHandler
推荐文章
站长推荐
- asp.net – 在GridView编辑模式下关闭验证
- asp.net-mvc – 解耦Microsoft.AspNet.Identity.
- 停止代码构建器转义单引号ASP.NET MVC 2
- asp.net-mvc-3 – mvc3 OutputCache RemoveOutpu
- asp.net-mvc – 用于字符串的ASP.NET MVC显示模板
- iis-7 – 如何在IIS经典模式池下托管ASP.NET 5(v
- ASP.NET验证码生成与识别
- asp.net读取excel文件的三种方法示例
- asp.net-mvc-3 – Html.Action – 获取与发布
- asp.net-mvc – 使用ASP.NET MVC 3本地化非数据注
热点阅读