设置文本框MVC 4 ASP的值

时间:2014-10-17 15:28:14

标签: asp.net-mvc css3 asp.net-mvc-4 razorgenerator

我在视图中有以下代码:.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提前。

1 个答案:

答案 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" })

关键是控制器为视图提供模型,视图不创建模型或调用模型上的任何逻辑。视图中的代码通常应限于绑定到模型上的属性。实际逻辑进入模型,控制器调用该逻辑并将结果模型状态提供给视图。