asp.net-mvc – MVC – 更改模型的视图中的值[封闭]

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – MVC – 更改模型的视图中的值[封闭]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有从模型显示一些数据的视图。我有提交按钮,其中onClick事件应该更改模型的值,并且传递不同值的模型,但我在TextBoxFor中的值保持与页面加载时相同。我该怎么改?

解决方法

这就是HTML助手的工作原理,而且是按设计。他们将首先查看POSTed数据,然后再在模型中查看。所以例如如果你有:
<% using (Html.BeginForm()) { %>
    <%= Html.TextBoxFor(x => x.Name) %>
    <input type="submit" value="OK" />
<% } %>

您正在发布以下操作:

[HttpPost]
public ActionResult Index(SomeModel model)
{
    model.Name = "some new name";
    return View(model);
}

当重新显示视图时,将使用旧值。一个可能的解决方法是从ModelState中删除该值:

[HttpPost]
public ActionResult Index(SomeModel model)
{
    ModelState.Remove("Name");
    model.Name = "some new name";
    return View(model);
}
原文链接:https://www.f2er.com/aspnet/253093.html

猜你在找的asp.Net相关文章