asp.net razor if语法

asp.net razor if语法,asp.net,asp.net-mvc,razor,Asp.net,Asp.net Mvc,Razor,我是ASP.NETMVC的初学者,我正在尝试使用If语句在ASP.NETMVC网站中使用razor设置图像的src 此代码适用于: <img src="@Url.Action("GetPersonPhoto", "Home", new RouteValueDictionary( new { cardid = "696969" }) )" /> 并将src设置为: "~/Content/images/header-logo.png" 如果照片是假的 我该怎么做?var sourc

我是ASP.NETMVC的初学者,我正在尝试使用If语句在ASP.NETMVC网站中使用razor设置图像的src

此代码适用于:

 <img src="@Url.Action("GetPersonPhoto", "Home", new RouteValueDictionary( new { cardid = "696969" }) )" />
并将src设置为:

"~/Content/images/header-logo.png"
如果照片是假的

我该怎么做?

var source=“~/Content/images/header logo.png”;
    var source= "~/Content/images/header-logo.png";
    @if(Model.HavePhoto)
    {
       source= Url.Action("GetPersonPhoto", "Home", 
                   new RouteValueDictionary( new { cardid = "696969" }))
    }

    <img src="@source" />
@如果(型号.照片) { source=Url.Action(“GetPersonPhoto”、“Home”, 新的RouteValueDictionary(新的{cardd=“696969”})) }
RT(F)M.好吧,说正经的……谷歌搜索任何例子。图像源本身不应该在cshtml页面中,而是在控制器中决定并存储在model src=“@model.PhotoUrl”我将让
GetPersonPhoto
操作决定使用哪个图像,并处理
model.HavePhoto
为false的情况,提供默认图像的url,与在view layerSee和for Court选项中处理这一点相反,您也可以使用两个不同的
img
标记,一个在if中,另一个在else中,这取决于您可能需要包装变量声明的上下文
@{var source=“~/Content/images/header logo.png”}
谢谢。我有一个带有“@if(Model.HavePhoto)”的空引用异常,但除此之外,您的解决方案似乎有效。
    var source= "~/Content/images/header-logo.png";
    @if(Model.HavePhoto)
    {
       source= Url.Action("GetPersonPhoto", "Home", 
                   new RouteValueDictionary( new { cardid = "696969" }))
    }

    <img src="@source" />