我有一些MVC3 Razor代码。我对Razor不太熟悉,但我能理解代码在做什么。我想清理这段代码。有什么可以做的或者我能做到最好吗?
@{ var i=1; foreach (var topic in @Model.Topic)
{
<option value="@topic.RowKey">@(i++). @topic.Description</option>
}
}
答案 0 :(得分:1)
就个人而言,我会在迭代时将项目索引的选择与序列中的项目合并,如下所示:
@{ foreach (var topic in @Model.Topic.
Select((t, i) => new { Topic = t, Index = i + 1}))
{
<option value="@topic.RowKey">@(topic.Index).
@topic.Topic.Description</option>
}
}
这样,您就没有将索引逻辑与主题分开,它们全部包含在匿名类型中。
答案 1 :(得分:0)
看起来像选择列表的选项,在这种情况下,您可能希望使用内置的@Html.SelectList
位而不是循环遍历并编写字符串。