我差不多两年没用C#进行编码了,所以我的知识丢失了。
我正在一个项目中工作,我发现我不能使用模型在视图中做一些数据绑定的事情。在Mvc 4+中,是否将@model [type]
更改为WebPage.Model
?我只熟悉Mvc3-。如果给出样本项目,我将不胜感激。
答案 0 :(得分:0)
@model
用于在视图页面中“导入”模型,而@Model
表示导入的模型,并且是您检索其属性的位置。
请参阅以下示例:
@model MeuExemploMVC.Models.CarrinhoComprasViewModel
@{
ViewBag.Title = "Purchase Cart";
}
<h2>@Model.Mensagem
</h2>
<fieldset>
<legend>Purchase Cart</legend>
<table>
<caption>Products</caption>
<thead>
<tr>
<th>Product</th>
<th>Price</th>
</tr>
</thead>
<tbody>
@foreach (var product in Model.Products) {
<tr>
<td>@product.Name</td>
<td>@product.Price</td>
</tr>
}
</tbody>
<tfoot>
<tr>
<td><strong>Total</strong></td>
<td>@Model.TotalPrice</td>
</tr>
</tfoot>
</table>
</fieldset>
在这里,您可以看到@model
只是将Model对象导入页面,而@Model
则从检索到的模型中获得实际值。
Here是CodeProject的一个教程,它说明了这种差异。请注意,那里提供了示例代码。