加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在Asp.Net MVC循环中呈现纯HTML链接?

发布时间:2020-12-16 00:23:47 所属栏目:asp.Net 来源:网络整理
导读:我想在ASP.NET MVC中呈现HTML链接列表。请注意,链接是设计的网站是绝对的和外部的。以下代码工作: % foreach (var item in Model) { % tr td %= Html.Encode(item.Id) % /td td %= String.Format("a href="{0}"link/a",item.Url) % /td /tr% } % 但我想
我想在ASP.NET MVC中呈现HTML链接列表。请注意,链接是设计的网站是绝对的和外部的。以下代码工作:
<% foreach (var item in Model) { %>

    <tr>
        <td>
            <%= Html.Encode(item.Id) %>
        </td>
        <td>
            <%= String.Format("<a href="{0}">link</a>",item.Url) %>
        </td>
    </tr>

<% } %>

但我想知道是否真的是正确的做法。我在这里缺少一些明显的MVC控制?

解决方法

你没有缺少任何东西,但是好的方法是在HtmlHelper上创建扩展方法:
public static class HtmlHelpers
    {

        public static string SimpleLink(this HtmlHelper html,string url,string text)
        {
            return String.Format("<a href="{0}">{1}</a>",url,text);
        }

    }

那么你可以这样使用它:

<tr>
        <td>
            <%= Html.Encode(item.Id) %>
        </td>
        <td>
            <%= Html.SimpleLink(item.Url,item.Text) %>
        </td>
    </tr>

我忘了添加。为了在整个应用程序中使用此HtmlHelper扩展器,您需要在Web配置文件中添加以下内容:

<system.web>
      <pages>
         <namespaces>
            <!-- leave rest as-is -->
            <add namespace="theNamespaceWhereHtmlHelpersClassIs"/>
        </namespaces>
      </pages>
    </system.web>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读