作者:jwbnmbnm | 来源:互联网 | 2023-10-17 15:31
MVC中的控件都是HtmlHelper的扩展方法(不了解扩展方?法请阅读扩展方法),比如@Html.ActionLink,F12可以看到它是这样写的:
public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName);
同理,自定义控件也是写HtmlHelper的扩展方法。
例:
实现一个显示消息的控件
代码:写一个扩展方法,第一个参数用this修饰符类型是HtmlHelper,第二个参数是消息标题,第三个参数是消息内容,如下
alt=""
src="https://img8.php1.cn/3cdc5/1ea6b/8fd/35671c0845e54b2e.gif"> using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
namespace System.Web.Mvc.Html
{
public static class MessageLabelExtensions
{
public static HtmlString MessageLable(this HtmlHelper htmlHelper, string title, string message)
{
StringBuilder strHtml = new StringBuilder();
strHtml.Append("");
strHtml.Append(""+title+
"");
strHtml.Append(""+message+
"");
strHtml.Append(" ");
return new HtmlString(strHtml.ToString());
}
}
}
alt=""
src="https://img8.php1.cn/3cdc5/1ea6b/8fd/35671c0845e54b2e.gif"> 完成了,可以在view中使用这个控件了!
@Html.MessageLable("好消息!", "你好,这是测试消息!")
就是这么简单!
MVC中的自定义控件,布布扣,bubuko.com