gpt4 book ai didi

c# - 在 post 请求 asp.net mvc 中更改模型属性

转载 作者:可可西里 更新时间:2023-11-01 07:52:51 25 4
gpt4 key购买 nike

我有一个问题。

这是一个简短的例子。这是模型。

    public class MyModel
{
string Title{get;set;}
}

在我看来我写

@Html.TextBoxFor(model => model.Title)

这是 Controller 。

    public ActionResult EditNews(int id)
{
var model = new MyModel;
MyModel.Title = "SomeTitle"

return View("News/Edit", model);
}
//for post
[HttpPost]
public ActionResult EditNews(MyModel model)
{
//There is problem.When I do postback and
// change Title in this place,Title doesn't change in view textbox
//Only when I reload page it change.
model.Title = "NEWTITLE"

return View("News/Edit", model);
}

最佳答案

它不会改变,因为默认情况下(许多人认为这是一个错误)MVC 将忽略您在 HttpPost 中对模型所做的更改返回相同的 View 。相反,它会在 ModelState 中查找最初提供给 View 的值。

为了防止这种情况发生,您需要清除 ModelState,您可以在 HttpPost 的顶部执行以下操作:

ModelState.Clear();

关于c# - 在 post 请求 asp.net mvc 中更改模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16418547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com