我在视图中有以下代码:.cshtml
...
<td class="Centrado">
<input class="plato" value="" id="TComida">
</td>
....
我希望设置一个来自控制器的值,该值来自Comida类属性Price,
....
@model Util.Comida
Util.Comida menu = new Util.Comida();
menu= (Util.Comida)ViewData["Comida"];
....
¿我该怎么做才能设置值菜单。我的输入类的价格=“plato”value =“”id =“TComida” 没有丢失的css样式适用于我的class =“plato”?
我已检查过对象菜单是否正确填充了控制器中的数据。 对不起我的英语和thx提前。
答案 0 :(得分:4)
这不是你应该在视图中做的事情:
@model Util.Comida
Util.Comida menu = new Util.Comida();
menu= (Util.Comida)ViewData["Comida"];
如果模型是Util.Comida
,那么控制器应该为视图提供一个实例。例如,在控制器中返回视图时:
var model = new Util.Comida();
// set properties, invoke logic, etc.
return View(model);
然后在视图中,模型本身存在于Model
属性中。因此,使用其中一个值,您可以引用该属性。例如:
<input class="plato" value="@Model.Price" id="TComida">
甚至可以使用HTML帮助器来发出input
标记,这可以带来更多的框架功能。像这样:
@Html.TextBoxFor(m => m.Price, new { id = "TComida", @class = "plato" })
关键是控制器为视图提供模型,视图不创建模型或调用模型上的任何逻辑。视图中的代码通常应限于绑定到模型上的属性。实际逻辑进入模型,控制器调用该逻辑并将结果模型状态提供给视图。