自定义HTML助手在ASP.NET MVC 2(Custom HTML Helpers in ASP

2019-10-23 04:04发布

我想创建一个分页帮手。 它需要的唯一参数是当前页,并PAGECOUNT routename。 不过,我不知道是否可以使用我的HTML辅助的定义内的另一个HTML辅助的返回值。 我特别是指以Html.RouteLink。 我怎么能去的类定义做这样的事情

using System;
using System.Web.Mvc;

namespace MvcApplication1.Helpers
{
     public static class LabelExtensions
     {
          public static string Label(this HtmlHelper helper, string routeName, int currentpage, int totalPages)
          {
               string html = "";
               //Stuff I add to html
               //I'd like to generate a similar result as the helper bellow. 
               //This code does not work, it's just an example of what I'm trying to accomplish
               html .= Html.RouteLink( pageNo, routeName, new { page = pageNo - 1 } );
               //Other stuff I do the html
               return html;

          }
     }
}

谢谢。

Answer 1:

一般情况下,是可以使用的其他HTML帮助功能的结果您的自定义函数中。 唯一的例外是任何直接写入响应流,而不是返回一个字符串值。

我已经做了这样的事情几次我自己,和它的作品就好了... ...这是我刚才完全是编造的,现在基于一些样品我这样做,我没有现在的得心应手的代码:

public static string RssFeed(this HtmlHelper helper, string url)
{
    StringBuilder sb = new StringBuilder();
    sb.Append(GetRSSMarkup(url));  // This generates the markup for the feed data
    sb.Append(helper.ActionLink("Go Home","Index","Home"));
    return sb.ToString();
}


文章来源: Custom HTML Helpers in ASP.NET MVC 2