使用ViewBag在MVC3中的文本框值

时间:2012-06-29 11:28:58

标签: asp.net-mvc-3 textbox viewbag

考虑使用Html Helper制作的View中的文本框字段。

@Html.TextBoxFor(m=>m.name, new {@value=ViewBag.x});

在这种情况下,如果在我的模型中我传递了一些值(不是null),那么我的文本框,ViewBag.x或我在模型对象中传递的值是什么?

1 个答案:

答案 0 :(得分:2)

无法覆盖强类型帮助程序的value属性。如果使用ViewBag,请忘记强类型助手。一旦你走了那条路,就必须遵循它:

@Html.TextBox("x")

其中x是您在控制器操作中填入ViewBag的内容:

ViewBag.x = "foo";

强类型助手使用模型并使用作为第一个参数传递的lambda表达式来获取值。

因此,如果您想要正确地执行操作,请抛弃ViewBag并使用视图模型和强类型帮助程序:

@Htlm.TextBoxFor(model => model.X)