zoukankan      html  css  js  c++  java
  • MVC4.0 扩展辅助方法

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

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

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

    我们转到它的定义看看:

     1 public static MvcHtmlString UserMsg(this HtmlHelper html, string msg, string msgType)
     2         {
     3             TagBuilder tb = new TagBuilder("div");
     4             tb.AddCssClass("alert divShadow " + msgType);
     5             tb.GenerateId("alertMsg");
     6 
     7             TagBuilder tagItem1 = new TagBuilder("a");
     8             tagItem1.AddCssClass("close");
     9             tagItem1.Attributes.Add("href", "#");
    10             tagItem1.Attributes.Add("data-dismiss", "alert");
    11             tagItem1.SetInnerText("×");
    12             tb.InnerHtml += tagItem1.ToString();
    13 
    14             TagBuilder tagItem2 = new TagBuilder("strong");
    15             tagItem2.GenerateId("msgContent");
    16             tagItem2.SetInnerText(msg);
    17             tb.InnerHtml += tagItem2.ToString();
    18 
    19             return MvcHtmlString.Create(tb.ToString());
    20         }
    View Code

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

    TagBuilder用于生成Html标签。

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

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

  • 相关阅读:
    C语言不定参数
    C和C++中的不定参数
    C/C++ 中头文件相互包含引发的问题
    Makefile经典教程(掌握这些足够)
    C语言中volatile关键字的作用
    C++中字符数组与string的相互转换
    C++中 使用数组作为map容器VAlue值的解决方法
    sql 内连接、外连接、自然连接等各种连接
    网站小图标
    Eclipse:快捷
  • 原文地址:https://www.cnblogs.com/ghwillbe/p/5194526.html
Copyright © 2011-2022 走看看