我确信这是一个简单的问题,但我无法弄清楚这一点。
我想做这样的事情......
@(string.IsNullOrEmpty(Model.CustomerUrl) ? "" : <a href="@Model.CustomerUrl">Click me</a>)
这个片段不起作用。
html 与 razor 语法的混合以及在标签属性中包含引号使得很难弄清楚。
我喜欢剃须刀,除了弄清楚这种东西真的让我绊倒。
如果 CustomerUrl 为空或为空,我希望根本不呈现以下内容......
<p class="customerLink links"><a href="@Model.CustomerUrl">@Model.CustomerName</a></p>
编辑
这仍然不适合我......不过感谢您的建议。
我的问题是上面的代码已经在 Razor 代码块中。这是我无法弄清楚的实际代码...
编辑二号 - 下面的代码现在正在工作
@if (Model.Count() > 0)
{
foreach (var partner in Model)
{
<li>
@Html.ActionLink(@partner.CustomerName, "Details", "Customer", new { id = Customer.AID }, null)<br />
@partner.Street<br />
//this is what i cannot figure out!!
@if(!string.IsNullOrEmpty(partner.Phone))
{
@partner.Phone@:<br />
}
@partner.Distance<br />
</li>
}
}
我在嵌套块(if)之前加上@ 符号。
然后我必须用@分隔标记:然后它起作用了。
昨天,当我尝试使用嵌套的剃刀代码块时,似乎出现了编译器错误,因为我在它前面加上了一个 @。所以现在我比以往任何时候都更加困惑。
事实上......如果我试图用这样的引号包围我的@partner.Phone......"@partner.Phone"@:</ br>
我会得到另一个编译器错误。Razor 在工作时很棒,但当它不工作时会很混乱。
赛斯