我在做MVC的小练习,初学,并不是很理解一些东西,我用Html辅助方法生成a标签跨了控制器传值,接到另一个页面(这里是扯得一些批话)不是有三个对象吗)ViewData、ViewBag、TempData,解释不清,直接上代码:
前台页面:
@using (Html.BeginForm())
{
<fieldset>
<legend>新用户注册</legend>
<p>姓名:@Html.TextBox("name", ViewData["name"])</p>
@*<p>密码:@Html.TextBox("name", ViewBag.pwd)</p>*@
<p>密码:@Html.TextBox("name", TempData["pwd"])</p>
</fieldset>
}
后台代码:
public ActionResult Demo2Index()
{
ViewData["name"] = Request["name"];
ViewBag.pwd = 123;
TempData["pwd"] = Request["pwd"];
return View();
}
我在加粗那行用ViewBag这属性会报错,直接编译错误,虽然用其他两个东西实现了效果,但是想知道为什么ViewBag用不了而ViewData和TempData可以用