加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc C 保存后显示相同的页面

发布时间:2023-12-16 16:10:06 所属栏目:asp.Net 来源:DaWei
导读: 我想显示一个带有某个字段的表单(示例中有一个),提交它,保存并显示同一页面并重置所有字段.我提交时的问题,我进行“保存”操作,但是当我显示视图时,表单仍然填写.

该模型 :

publ

我想显示一个带有某个字段的表单(示例中有一个),提交它,保存并显示同一页面并重置所有字段.我提交时的问题,我进行“保存”操作,但是当我显示视图时,表单仍然填写.

该模型 :

public class TestingModel { public string FirstName { get; set; } }

控制器:

public class ChildController : Controller { public ActionResult Index() { TestingModel model = new TestingModel(); return View(model); } public ActionResult Save(TestingModel model) { Console.WriteLine(model.FirstName); //OK //Save data to DB here ... TestingModel testingModel = new TestingModel() { FirstName = string.Empty }; return View("Index",testingModel); } }

风景 :

@using (Html.BeginForm("Save","Child",FormMethod.Post)) { @Html.TextBoxFor( m => m.FirstName) <input type="submit" id="btSave" /> }

当Id调试到视图时,在“Immediat窗口”Model.FirstName =“”但是当页面显示时,我仍然发布了值.我在Save方法的末尾尝试了ReditrectionToAction(“Index”)但结果相同.

你有好主意吗 ?

谢谢,

解决方法 如果你想这样做,你需要清除ModelState中的所有内容.否则,HTML帮助程序将完全忽略您的模型,并在绑定其值时使用ModelState中的数据.

像这样:

[HttpPost] public ActionResult Save(TestingModel model) { //Save data to DB here ... ModelState.Clear(); TestingModel testingModel = new TestingModel() { FirstName = string.Empty }; return View("Index",testingModel); }

或者只是在成功的情况下重定向到Index GET操作:

[HttpPost] public ActionResult Save(TestingModel model) { //Save data to DB here ... return RedirectToAction("Index"); }

(编辑:商洛站长网)

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

    推荐文章