如何在MVC3中使用一些数据填充文本框?
问题描述:
我有一个拥有自己视图的控制器(MigrateAccountController)。它要求输入用户名和密码,然后进行一些检查。如果用户退房,我会做一个return RedirectToAction("Register", "Account", user);
。如何在MVC3中使用一些数据填充文本框?
我想填充用户名(它是一个RegisterModel类型)中包含的数据的用户名和电子邮件文本框。我已经尝试过我能为“htmlAttributes”想到的每一个化身。一个例子是@Html.TextBoxFor(m => m.UserName), new { value = Model.UserName })
基本上我想为两件事情使用相同的看法。如果视图传递了包含数据的模型,则使用该数据填充文本框。如果视图没有传递任何内容,则不做任何操作,并将文本框留空。这是可能的还是应该我分裂的意见?
答
RedirectToAction发出服务器端重定向,指示浏览器在给定位置发出新请求。因此,在使用RedirectToAction的动作之间没有传递模型(第三个参数用于RouteValueDictionary)。将模型保存在TempData中,然后将RedirectToAction保存,然后在该操作中从TempData中读取模型。或者为什么不直接返回视图而不是重定向。
真棒,返回视图很好。但是,现在当我到达注册页面时,我立即得到验证错误。无论如何填充这些文本框没有发射验证错误,直到用户尝试发布数据? – Pete 2011-03-21 05:11:02
很难说没有看到任何代码或知道为什么你不想字段验证。 – JeremyWeir 2011-03-21 05:14:37
我确实希望他们验证,但问题是我马上得到验证。在我的控制器中,我像你所说的那样返回视图。它显示了除了验证错误之外我想要如何。你需要什么代码?它几乎就是当您启动一个新的Web应用程序时出现的默认Register.cshtml。 – Pete 2011-03-21 05:19:43