2

ASP.NET MVC 4 Web 应用程序、SQL Server 2012、实体框架 5。

我有一个基于脚手架的视图-在数据库中成功创建记录而不是调用之后

return RedirectToAction("Index");

我希望用户能够立即添加另一条记录。但是,如果我改为返回一个空模型 - 例如这样:

return View(new Tag());

文本框仍然有旧的模型数据。它们不应该被清除吗?

我想要做的是清除所有文本框,以便用户可以输入下一项。

4

2 回答 2

2

你的问题在ModelState. 它包含已发布的值并在客户端上填充它们。ModelState.Clear()如果我记得这一点,你可以清除它。但这不是很好的解决方案。好的解决方案重定向到正确的操作而不是返回View(new Tag())

于 2013-06-03T04:40:49.030 回答
0

我在这里找到了答案: ASP.net MVC4 Clear Model Values

您需要在 Create Action 方法上调用 Http Get Action - 像这样:

return RedirectToAction("Create", "ControllerName");

这似乎使用 PRG 模式重置模型。仍然不完全确定为什么它第一次不起作用,但这作为一种更好的方法是有意义的。

于 2013-06-03T04:51:16.153 回答