加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:45:16 所属栏目:asp.Net 来源:网络整理
导读:我有从模型显示一些数据的视图。我有提交按钮,其中onClick事件应该更改模型的值,并且传递不同值的模型,但我在TextBoxFor中的值保持与页面加载时相同。我该怎么改? 解决方法 这就是HTML助手的工作原理,而且是按设计。他们将首先查看POSTed数据,然后再在
我有从模型显示一些数据的视图。我有提交按钮,其中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);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读