考虑使用Html Helper制作的View中的文本框字段。使用ViewBag在MVC3中的文本框值
@Html.TextBoxFor(m=>m.name, new {@value=ViewBag.x});
在这种情况下,如果在我的模型我传递一些值(NOT NULL),那么这将是我的文本框,在ViewBag.x,或者我已经在我的模型对象传递的一个值??
考虑使用Html Helper制作的View中的文本框字段。使用ViewBag在MVC3中的文本框值
@Html.TextBoxFor(m=>m.name, new {@value=ViewBag.x});
在这种情况下,如果在我的模型我传递一些值(NOT NULL),那么这将是我的文本框,在ViewBag.x,或者我已经在我的模型对象传递的一个值??
您不能覆盖强类型助手的value
属性。如果您使用ViewBag
,请忘记强类型助手。一旦你走这条路,你必须遵循它:
@Html.TextBox("x")
其中x
的东西,你已经在你的控制器动作塞进ViewBag:
ViewBag.x = "foo";
强类型的辅助与模型工作并使用作为第一个参数传递的lambda表达式来获取值。
所以,如果你想要做正确的事情抛ViewBag
拿走并使用视图模型和强类型的辅助:
@Htlm.TextBoxFor(model => model.X)
因此,即使我的Model.name不为null,你的意思是使用ViewBag属性,对吗? –
如果您使用TextBoxFor,则不会使用ViewBag。正如我在我的回答中所说的,你不能覆盖'value'属性。 –
谢谢..有帮助 –
当你测试你的代码会发生什么?哪个值显示? –
你在问一个问题吗?或者你在检查其他技能? –
不知道!Iam现在正在测试它...但我想事先知道,所以我不必测试它:p –