我有一个模型,其中包含一个名为 Pointer 的整数属性。我想在 Razor 视图中使用该属性,如下所示:
但是我收到一个错误...
我该如何解决这个问题?这个错误是因为这条线:int pnt = @Model.Pointer; ?
我有一个模型,其中包含一个名为 Pointer 的整数属性。我想在 Razor 视图中使用该属性,如下所示:
但是我收到一个错误...
我该如何解决这个问题?这个错误是因为这条线:int pnt = @Model.Pointer; ?
是的,而且您通常过度使用@。你的代码可能应该是这样的:
@for (var i = 0; i < Model.Lists.ToList().Count; i++) {
var pointer = Model.Pointer;
if (i == pointer) {
var url = "/Subscriber/List/" + i;
<li><a href="@url">@Model.Lists.ToList()[i].ListName</a></li>
}
}
除了您的实际问题,我建议您考虑为 HtmlHelper 类编写一些扩展,即允许编写例如 Html.SubscriberListItem(number),以保持关注点正确分离和视图清洁。
另一种选择是将大部分逻辑移动到视图模型(或可能是控制器)。即可能有类似 Model.Subscribers.Link.Uri 和 Model.Subscribers.Link.Text 的东西。这甚至可能是首选选项,具体取决于您的模型的外观。(也许 uri 也应该与 RoutingTable 挂钩。)
您编写的代码很容易引发异常,如果您不介意我这么说,将逻辑移出视图也会使编写安全代码更容易。