Asp.net mvc 正在尝试清理我的MVC3代码
我有一些MVC3代码。我不太熟悉Razor,但我能理解代码在做什么。我想清理这个代码。有什么可以做的吗?或者是我能做的最好的吗Asp.net mvc 正在尝试清理我的MVC3代码,asp.net-mvc,Asp.net Mvc,我有一些MVC3代码。我不太熟悉Razor,但我能理解代码在做什么。我想清理这个代码。有什么可以做的吗?或者是我能做的最好的吗 @{ var i=1; foreach (var topic in @Model.Topic) { <option value="@topic.RowKey">@(i++). @topic.Description</option> } } @{var i=1;foreach(@Model.topic中的var主题) { @(
@{ var i=1; foreach (var topic in @Model.Topic)
{
<option value="@topic.RowKey">@(i++). @topic.Description</option>
}
}
@{var i=1;foreach(@Model.topic中的var主题)
{
@(i++)@topic.Description
}
}
就我个人而言,我会在迭代时将项目索引的选择与序列中的项目合并,如下所示:
@{ 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>
}
}
@{foreach(var-topic在@Model.topic中)。
选择((t,i)=>new{Topic=t,Index=i+1}))
{
@(主题索引)。
@topic.topic.Description
}
}
这样,您就不必将索引逻辑与主题分离,它都整齐地包含在匿名类型中。就我个人而言,我会在迭代时将项目索引的选择与序列中的项目合并,如下所示:
@{ 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>
}
}
@{foreach(var-topic在@Model.topic中)。
选择((t,i)=>new{Topic=t,Index=i+1}))
{
@(主题索引)。
@topic.topic.Description
}
}
这样,您就不必将索引逻辑与主题分离,它都整齐地包含在匿名类型中。看起来像是选择列表的选项,在这种情况下,您可能希望使用内置的
@Html.SelectList
位,而不是通过循环来编写字符串。看起来像是选择列表的选项,在这种情况下,您可能希望使用内置的@Html。SelectList
位,而不是通过循环和编写字符串。我个人觉得您的代码比@casperOne建议的更容易阅读,因为我不必思考它的功能。我个人觉得您的代码比@casperOne建议的更容易阅读因为我不需要思考就能看到它的作用。