您的位置:首页 > 编程语言 > ASP

asp.net mvc Htmlhelper简单扩展

2014-08-18 17:17 405 查看


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Mvc;

namespaceWebApplication1.MyHtmlHelper
{
publicstaticclassMyHtmlHelper
{
//页面渲染结果:
//<span>我扩展的Label,自动生成Span标签</span>
//把标签名都显示(直接将内容显示)
publicstaticstringMyHtmlLable1(thisHtmlHelperhtml,stringlableName)
{
returnstring.Format("<span>{0}</span>",lableName);
}

publicstaticHtmlStringMyHtml(thisHtmlHelperhtml,stringvalue)
{
returnnewHtmlString(value);
}

//页面渲染结果:
//span标签
publicstaticHtmlStringMyHtmlLable2(thisHtmlHelperhtml,stringlableName)
{
returnMyHtml(html,string.Format("<span>{0}</span>",lableName));
}

//页面渲染结果:
//input标签
publicstaticHtmlStringMyTextBox(thisHtmlHelperhtml,stringcontent)
{
returnMyHtml(html,string.Format("<inputtype='type'value='{0}'/>",content));
}

}
}




@usingWebApplication1.MyHtmlHelper
@{
ViewBag.Title="Test";
}

<h2>Test</h2>

@*结果:<span>我扩展的Label,自动生成Span标签</span>*@
@Html.MyHtmlLable1("我扩展的Label,自动生成Span标签")<br/>

@*结果:我扩展的Label,自动生成Span标签*@
@Html.MyHtmlLable2("我扩展的Label,自动生成Span标签")<br/>

@*结果:span标签测试*@
@Html.MyHtml("span标签测试")<br/>

@*textbox*@
@Html.MyTextBox("textbox")<br/>






所有标签定义方法:



publicstaticstringSelfDefineTagString(thisHtmlHelperhelper,stringtagName,stringid,stringname,stringclassName,stringvalue,stringstyle)
{
//创建标签
TagBuildertb=newTagBuilder(tagName);
//定义标签id
tb.GenerateId(id);
//定义标签name
tb.MergeAttribute("name",name);
//定义标签class
tb.AddCssClass(className);
//定义标签样式
tb.MergeAttribute("style",style);
//定义标签内容
tb.SetInnerText(value);
returntb.ToString();
}

publicstaticHtmlStringSelfDefineTag(thisHtmlHelperhelper,stringtagName,stringid,stringname,stringclassName,stringvalue,stringstyle)
{
returnnewHtmlString(SelfDefineTagString(helper,tagName,id,name,className,value,style));

}






html调用方法:

@Html.SelfDefineTag("p","test","test","test","p标签","color:red;background:#ccc;width:100px;text-align:center")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: