MVC4.0 扩展辅助方法

新年第一天上班,写个博客开头吧!

在MVC中,辅助类是很常见的,比如说,Html.TextBox()、Html.DropDownListFor()等,这些都是微软帮我们封装好的,可以直接调用的,它们解析出来的结果都是一段Html代码,而实际项目中,我们可能需要自己去扩展一些我们需要的辅助类,比如说下面这段代码:

@UserHelpers.UserMsg(this.Html, ViewBag.Msg, ViewBag.MsgType),它的作用是用于系统消息提示。

我们转到它的定义看看:

 public static MvcHtmlString UserMsg(this HtmlHelper html, string msg, string msgType)
{
TagBuilder tb = new TagBuilder("div");
tb.AddCssClass("alert divShadow " + msgType);
tb.GenerateId("alertMsg"); TagBuilder tagItem1 = new TagBuilder("a");
tagItem1.AddCssClass("close");
tagItem1.Attributes.Add("href", "#");
tagItem1.Attributes.Add("data-dismiss", "alert");
tagItem1.SetInnerText("×");
tb.InnerHtml += tagItem1.ToString(); TagBuilder tagItem2 = new TagBuilder("strong");
tagItem2.GenerateId("msgContent");
tagItem2.SetInnerText(msg);
tb.InnerHtml += tagItem2.ToString(); return MvcHtmlString.Create(tb.ToString());
}

UserHelper是辅助类名,UserMsg是辅助方法名,它包括了三个参数,第一个是系统默认的,后两个是我们写进去的。并且,要在View中生成Html代码,我们需要指定辅助方法的返回类型为MvcHtmlString.
方法内代码解释:

TagBuilder用于生成Html标签。

当然,想要在View中显示什么内容,需要自己去拼接啦。

完了,写得好简单,哈哈,祝自己在新的一年里工作顺利!

上一篇:VC++、MFC、COM和ATL的区别


下一篇:自动化运维工具-mussh工具安装配置及简单使用讲解