【问题标题】:How to print text inside <%= %>?如何在 <%= %> 内打印文本?
【发布时间】:2012-05-10 14:01:57
【问题描述】:

是否有更简单的方法来执行以下操作?

<% if (Model.XY == 10) { %>
    10
<%} else { %>
    <%= Html.ActionLink("10", "SetXY", new { [...] }) %>
<% } %>

我正在考虑类似的事情

<%= Model.XY == 10 ? "10" : Html.ActionLink() %>

【问题讨论】:

  • 没有从字符串到 MvcHtmlString 的直接转换,您需要使用:
  • 谢谢,尼克。似乎推荐使用 MvcHtmlString.Create("10") 。
  • @NickBork 您应该将其添加为实际答案,以便您获得应得的荣誉,并且可以将问题标记为已回答。
  • 这真的是一个评论,看看 Fria 是否需要更多的东西。我已将评论作为答案包含在内。

标签: c# asp.net asp.net-mvc asp.net-mvc-2


【解决方案1】:

ActionLink 帮助器返回 MvcHtmlString。值“10”是一个字符串。 MvcHtmlString 和 String/string 之间没有隐式转换。

要解决这个问题,您应该使用以下方法从字符串中创建 MvcHtmlString:

 new MvcHtmlString("10");

从那里您可以将代码简化为:

 <%= Model.XY == 10 ? new MvcHtmlString("10") : Html.ActionLink("10", "SetXY", new { [...] }) %>

【讨论】:

    猜你喜欢
    • 2013-03-11
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    相关资源
    最近更新 更多