试图清理我的MVC3代码

时间:2011-07-25 16:55:25

标签: asp.net-mvc

我有一些MVC3 Razor代码。我对Razor不太熟悉,但我能理解代码在做什么。我想清理这段代码。有什么可以做的或者我能做到最好吗?

@{ var i=1; foreach (var topic in @Model.Topic)
   {
    <option value="@topic.RowKey">@(i++). @topic.Description</option>
   }
}

2 个答案:

答案 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位而不是循环遍历并编写字符串。