[英]Set string to empty if no version number exists in Razor HTML
我在cshtml中构建一个简单的结构:如果不存在版本号,则将字符串设置为空,否则放置带有版本信息的链接
<label style="float:right;">
Version: @resp.VersionNumber
@if (string.IsNullOrEmpty(@resp.VersionNumber))
{
@resp.VersionNumber == "";
}
else
{
<a>Version link code</a>
}
</label>
Resp是JsonResponce局部变量,而VersionNumber是JsonResponce类的字符串数据成员。
尽管看起来非常简单,但返回的错误使我抓狂了。
错误在if语句内。 我试图将该行包含在该线程中被接受的答案所建议的()中,但它返回了编译错误,例如在该帖子中 。 两种情况下的结构都与我的结构略有不同,因此我无法完全应用它们。
如果我按原样将行留在里面,则返回invalid expression term ==
和expected ;
编译错误expected ;
,即使我已经拥有它。
我知道我可能缺少一些简单的东西,但是请您指出如何更改代码以消除这些错误。 并简要解释为什么要这样做,因为我也想从这个问题中学习。
我是该领域的初学者,所以请放轻松。 非常感谢你!
根据大家的建议,我重新排列了代码,现在看起来像下面的代码
<label style="float:right;">
Version:
@if (string.IsNullOrEmpty(resp.VersionNumber))
{
<span></span>;
}
else
{
@resp.VersionNumber
<a>Version link code</a>
}
</label>
您有几个错误。 首先,由于您已经在代码块中,因此在不属于的地方有@。 当您最有可能需要分配(=)时,可以使用比较(==)。 您还首先输出该值,然后要对其进行修改。
您很可能在追求这样的事情
<label style="float:right;">
Version:
@if (string.IsNullOrEmpty(resp.VersionNumber))
{
<span>No version number!</span>
} else {
<a>Version link code</a>
}
</label>
这样,您可以检查文本是否存在,如果不存在,则仅输出文本,如果确实存在,则可以按所需方式进行链接。
这个
@resp.VersionNumber == "No version number!";
应该
@resp.VersionNumber = "No version number!";
您使用==比较值,使用=分配值:
分配: https : //msdn.microsoft.com/en-us/library/sbkb459w.aspx
平等: https : //msdn.microsoft.com/en-us/library/53k8ybth.aspx
如果存在版本号,这只会显示与版本相关的信息
<label style="float:right;">
@if (!string.IsNullOrEmpty(resp.VersionNumber)) {
Version: @Html.ActionLink(resp.VersionNumber, "actionName", "controllerName")
}
</label>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.