代码改变世界

Asp.NET MVC Widget开发 - Html.Widget扩展方法

2011-03-06 18:19  Creative dream  阅读(4358)  评论(4编辑  收藏  举报

在Asp.NET开发博客类系统,我们经常都会用到Widget,像在线好友、最近访问好友、最新留言等,关于Asp.NET MVC与Asp.NET视图的差异,这里不再说了,大家可去查一下,接下来我以“我的好友”列表来要介绍在Asp.NET MVC实现这一功能以及结构设计。

  • 开发工具:VS 2010 EN
  • 开发语言:Visual C#
  • ASP.NET MVC 3
  1. Asp.NET MVC Widget - 设计
  2. Asp.NET MVC Widget - Controller控制器
  3. Asp.NET MVC Widget - ViewEngine
  4. Asp.NET MVC Widget - Mobile支持
  5. Asp.NET MVC Widget - Html.Widget扩展方法

前4篇文章中,已实现Widget具体开发,并支持当前流行的手机客户端,以及如何在页面中使用:

@{Html.RenderAction("Friends", "Widget"); }

每次这样总感觉有些烦琐,而我们想要的只是指定Widget名称就行了:

@Html.Widget("Friends")

实现方法是很简单,扩展HtmlHelper方法

具体代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace System.Web.Mvc.Html
{
public static class WidgetExtensions
{
public static MvcHtmlString Widget(this HtmlHelper htmlHelper, string widget)
{
htmlHelper.RenderAction(widget,
"Widget");
return MvcHtmlString.Empty;
}
}
}