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);
}

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....