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>

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...