ビューは次のとおりです。
@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="" />
}
基本的に、Model プロパティを使用して、レンダリングする画像を決定します。
正しい解決策は、呼び出されたモデルにプロパティを作成し、そのプロパティを画像のソース URL として使用することです。SourceImageUrl (string)
次に、この条件付き操作をモデルに転送します。
私の質問は、検証に DataAnnotations を使用している場合、どうすればこれを行うことができますか? 助言がありますか?
public class StreamModel
{
// This is the ID that has the value of either 1 or 2.
public int StreamSourceId { get; set; }
// How can I move the logic from the view, to here, and set the value accordingly?
public string SourceImageUrl { get; set; }
}