2011-07-25 41 views
1

我有一些MVC3 Razor代碼。我對Razor並不熟悉,但我可以理解代碼在做什麼。我想清理這個代碼。有什麼可以做到的或者是我所能做到的最好的嗎?試圖清理我的MVC3代碼

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

就我個人而言,我覺得你的代碼比@casperOne的建議更容易閱讀,因爲我不必去想它是什麼。 –

回答

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> 
    } 
} 

這樣,您就不必分離來自主題的索引邏輯,它全部包含在匿名類型中。

0

看起來像選擇列表的選項,在這種情況下,您可能想要使用內置的@Html.SelectList位而不是循環遍歷事物並編寫一個字符串。