Asp.net mvc 4 在Razor中,如何从模型中获取整数属性并使用它初始化局部变量?
我有一个模型,其中包含一个名为指针的整数属性。我希望在Razor视图中使用该属性,如下所示: 然而,我得到了一个错误Asp.net mvc 4 在Razor中,如何从模型中获取整数属性并使用它初始化局部变量?,asp.net-mvc-4,razor-2,Asp.net Mvc 4,Razor 2,我有一个模型,其中包含一个名为指针的整数属性。我希望在Razor视图中使用该属性,如下所示: 然而,我得到了一个错误 我如何解决这个问题?此错误是因为以下行引起的:int pnt=@Model.Pointer?是的,您通常过度使用@。您的代码可能应该如下所示: @for (var i = 0; i < Model.Lists.ToList().Count; i++) { var pointer = Model.Pointer; if (i == pointer) {
我如何解决这个问题?此错误是因为以下行引起的: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>
}
}
for(var i=0;i除了您的实际问题,我建议您考虑编写HTMLHelp类的一些扩展,即允许编写例如HTML。订阅号(Type),以保持关注点的适当分离和视图的整洁。 另一个选项是将大部分逻辑移动到视图模型(或者可能是控制器)。也就是说,可能有类似Model.Subscribers.Link.Uri和Model.Subscribers.Link.Text的内容。这甚至可能是首选选项,具体取决于模型的外观。(也许uri也应该与RoutingTable连接起来。)
您编写的代码容易抛出异常,如果您不介意我这样说的话,将逻辑从视图中移出也会使编写安全代码更容易。是的,而且您通常过度使用@。您的代码可能应该如下所示:
@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>
}
}
for(var i=0;i除了您的实际问题,我建议您考虑编写HTMLHelp类的一些扩展,即允许编写例如HTML。订阅号(Type),以保持关注点的适当分离和视图的整洁。 另一个选项是将大部分逻辑移动到视图模型(或者可能是控制器)。也就是说,可能有类似Model.Subscribers.Link.Uri和Model.Subscribers.Link.Text的内容。这甚至可能是首选选项,具体取决于模型的外观。(也许uri也应该与RoutingTable连接起来。)
您编写的代码很容易抛出异常,如果您不介意我这样说的话,将逻辑移出视图也会使编写安全代码更容易。您给了我一些非常好的建议。。。我是MVC的新手,因此我不太精通“MVC方式”的思维过程。我一定会尽力实施你上面的建议。。非常感谢你。你给了我一些很好的建议。。。我是MVC的新手,因此我不太精通“MVC方式”的思维过程。我一定会尽力实施你上面的建议。。非常感谢你。