C# 如何从视图中删除此if条件?
以下是观点:C# 如何从视图中删除此if条件?,c#,asp.net-mvc-3,model,C#,Asp.net Mvc 3,Model,以下是观点: @if (stream.StreamSourceId == 1) { <img class="source" src="@Url.Content("~/Public/assets/images/own3dlogo.png")" alt="" /> } else if (stream.StreamSourceId == 2) { <img class="source" src="@Url
@if (stream.StreamSourceId == 1)
{
<img class="source" src="@Url.Content("~/Public/assets/images/own3dlogo.png")" alt="" />
}
else if (stream.StreamSourceId == 2)
{
<img class="source" src="@Url.Content("~/Public/assets/images/twitchlogo.png")" alt="" />
}
你不能这样做吗
public string SourceImageUrl
{
get
{
switch (StreamSourceId)
{
case 1: return "~/Public/assets/images/own3dlogo.png";
case 2: return "~/Public/assets/images/twitchlogo.png";
default: return null;
}
}
}
我建议您将您的逻辑移到模型中,以便您的视图与此类似
<img class="source" src="@Url.Content(stream.SourceImageUrl)" alt="" />
如果你不喜欢数组,你可以用一个更智能的集合来代替它:字典、哈希集、ecc你的控制器中有流吗?
<img class="source" src="@Url.Content(stream.SourceImageUrl)" alt="" />
public class Model
{
private string[] m_images;
public Model()
{
m_images = new[] {
"~/Public/assets/images/own3dlogo.png",
"~/Public/assets/images/twitchlogo.png"
};
}
public string SourceImageUrl
{
get { return m_images[StreamSourceId]; }
}
}