我想在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>