cos*_*set 14 .net c# asp.net asp.net-mvc asp.net-mvc-3
我有一个问题.
这是一个简短的例子.这是模特.
public class MyModel
{
string Title{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
在视图中我写
@Html.TextBoxFor(model => model.Title)
Run Code Online (Sandbox Code Playgroud)
这是控制器.
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);
}
Run Code Online (Sandbox Code Playgroud)
mat*_*mmo 26
它不会改变,因为默认情况下(许多人认为这是一个错误)MVC将忽略HttpPost您在返回相同View时对模型所做的更改.相反,它会查找ModelState最初提供给视图的值.
为了防止这种情况,您需要清除ModelState,您可以HttpPost通过执行以下操作来执行此操作:
ModelState.Clear();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8893 次 |
| 最近记录: |