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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何在Asp.Net MVC循环中呈现纯HTML链接?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在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>

猜你在找的asp.Net相关文章