asp.net-mvc-3 – MVC 3 – Html.EditorFor似乎缓存旧值$.ajax调用
这是从以下问题的跟随: MVC 3 + $.ajax – response seems to be caching output from partial view 那里有一个问题的详细描述。但是,我现在设法缩小问题,这似乎是与Html.EditorFor帮助者,因此新的问题。 问题: 我使用$ .ajax发布数据到服务器,然后返回保存输入控件的局部视图的html。问题是,尽管传递一个新创建的对象到部分视图模型,各种@ Html.EditorFor和@ Html.DropDownListFor帮助器返回旧数据! 我可以证明模型已经正确地通过一个新的对象到帮助者,通过打印在Html帮助器旁边的值。即: @Html.EditorFor(model => model.Transaction.TransactionDate) @Model.Transaction.TransactionDate.ToString() 如下图所示,@ Html.EditorFor返回错误的数据: [注意,Comentario文本框旁边的值是一个日期时间,因为我测试用一个随每个帖子更改的值(即DateTime)来替换默认值。] 如果我用一个简单的老@ Html.TextBox()替换@ Html.EditorFor的TransactionDate: @Html.TextBox("Transaction_TransactionDate",Model.Transaction.TransactionDate) 然后,它为一个新的Transaction对象呈现正确的TransactionDate值,即DateTime.MinValue(01/01/0001 …)。 因此… 问题是用@ Html.EditorFor帮助。这个问题也发生在TextBoxFor和DropDownListFor。 问题是这些帮助者似乎缓存了旧的价值。 我究竟做错了什么??! 编辑: 我刚刚试图在自定义编辑器模板中的日期调试,在那里,ViewData.TemplateInfo.FormattedModelValue显示正确的值,即“01/01/0001”。然而,一旦它到达Fiddler,响应显示旧的日期,例如,“01/09/2011”在上面的图像。 结果,我只是认为有一些缓存在这里,但我没有设置,所以没有什么有意义。 解决方法这里没有涉及缓存。这只是HTML助手如何工作。他们首先查看ModelState绑定其值,然后在模型中。因此,如果您打算修改控制器操作中的任何POSTed值,请务必先将它们从模型状态中删除:[HttpPost] public virtual ActionResult AjaxCreate(Transaction transaction) { if (ModelState.IsValid) { service.InsertOrUpdate(transaction); service.Save(); } service.ChosenCostCentreId = transaction.IdCostCentre; TransactionViewModel viewModel = new TransactionViewModel(); ModelState.Remove("Transaction"); viewModel.Transaction = new Transaction(); ModelState.Remove("CostCentre"); viewModel.CostCentre = service.ChosenCostCentre; ... return PartialView("_Create",viewModel); } (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 值不能为空或为空.参数名称:contentPath
- asp.net-mvc-3 – DropDownListFor Unobtrusive Validation
- asp.net html控件的File控件实现多文件上传实例分享
- 优化 – 字典/客户端VS应用程序变量
- 在IIS / ASP.Net中的.NET 1.1应用程序中创建.NET 3.0子应用
- asp.net-core – 在asp.net vnext中使用Startup.cs中的Conf
- asp.net – 如何使用正则表达式将百分比验证到两位小数?
- asp.net – Oracle.ManagedDataAccess:TNS:无法解析指定的
- asp.net-mvc – ASP.NET MVC 2预览2:区域重复控制器问题
- asp.net-mvc – Url.Action如何从模型中添加参数值
- asp.net – Html.BeginForm()类型的扩展名
- asp.net 2.0中利用Ajax2.0实现JSON传送大量页面数
- asp.net-mvc – ASP.NET MVC中的代码
- asp.net-mvc-4 – 在哪里可以找到WebMatrix.WebD
- 端到ASP.NET MVC的推荐方法
- 在asp.net中将用户变量存储在数据库与会话中
- asp.net – 如何序列化LINQ-to-SQL惰性列表
- asp.net-mvc – ASP.Net MVC中的自我AJAX更新部分
- asp.net-mvc – MVC错误 – 传入字典的模型项目的
- asp.net – WebForms:MasterPages中的动态(或绝