如何使用MVC3中的某些数据填充文本框?

时间:2011-03-21 04:53:35

标签: asp.net-mvc-3

我有一个具有自己视图的控制器(MigrateAccountController)。它要求输入用户名和密码,然后进行一些检查。如果用户结帐,我会执行return RedirectToAction("Register", "Account", user);

我想使用user(其RegisterModel类型)中包含的数据填充用户名和电子邮件文本框。我已经尝试了每一个我能想到的“htmlAttributes”的化身。一个例子是@Html.TextBoxFor(m => m.UserName), new { value = Model.UserName })

基本上我想对两件事使用相同的视图。如果视图传递包含数据的模型,则使用该数据填充文本框。如果视图未传递任何内容,则不执行任何操作并将文本框保留为空白。这是可能的还是应该拆分视图?

1 个答案:

答案 0 :(得分:1)

RedirectToAction发出服务器端重定向,指示浏览器在给定位置发出新请求。因此,使用RedirectToAction(第三个参数用于RouteValueDictionary)的操作之间没有传递模型。将模型保存在TempData中,然后保存RedirectToAction,然后在该操作中从TempData中读取模型。或者为什么不返回View而不是重定向。