04-MVC中自定义Html日期控件
微软官方意见提供了很多的HTML控件了,我们也可以自定义自己的HTML控件。这些控件可以是表单控件也可以是非表单控件。
下面我们来自定义一个日期控件。
日期控件,我们需要js的支持。所以我们找一个日期控件,我们这里选择My97DatePicker这款控件
下载 http://www.my97.net/down/My97DatePicker.zip
视图调用示例
@Html.DickPicket("effict","生效时间");
@Html.DickPicket("act","失效时间");Code language: JavaScript (javascript)
05-TagBuilder 创建HTML控件
我们上一节中创建HTML控件基本都是使用拼接html字符串的方式。这种方式有好也有坏。坏的地方就是阅读不方便。为此微软提供了一个创建HTML标记的类TagBuilder,它可以以类对象的方式来创建HTML代码。
下面我们还是以上一节课的例子来把日期控件通过TagBuilder的方式创建出来。
扩展方法代码
public static MvcHtmlString DickPicket(this HtmlHelper htmlHelper, string name)
{
TagBuilder tagBuilder = new TagBuilder("input");
tagBuilder.MergeAttribute("class", "Wdate");
tagBuilder.MergeAttribute("name", name);
tagBuilder.MergeAttribute("onClick", "WdatePicker({ el:this, dateFmt:'yyyy-MM-dd HH:mm:ss' })");
return tagBuilder.ToMvcHtmlString(TagRenderMode.SelfClosing);
}Code language: JavaScript (javascript)
Previous: 03-自定义HtmlHelper辅助方法