由于asp.net mvc 自动生成的视图里面没有自带的日期选择框,我使用了My97DatePicker,使用步骤如下
1: 引用My97DatePicker 的css,js 文件到网站中

2:完成HtmlHelper方法
private static string GenerateHtml(string name, DateTime? date, string format)
{
if (date != null)
{
//<input id="d12" type="text"/> <img onclick="WdatePicker({el:'d12'})" src="datePicker.gif" width="16" height="22" align="absmiddle">
//return "<input type=\"text\" id=\"" + name + "\" name=\"" + name + "\" <img onclick=\"WdatePicker({el:'" + name + "'}) class=\"Wdate\" value=\"" + date.Value.ToString(format) + "\" />";
//return "<input type=\"text\" id=\"" + name + "\" name=\"" + name + "\" onclick=\"WdatePicker({el:'" + format + "'})\" class=\"Wdate\" value=\"" + date.Value.ToString(format) + "\" />";
return "<input type=\"text\" id=\""+name+"\" onclick=\"WdatePicker({el:'"+name+"'})\" class=\"Wdate\" value=\"" + date.Value.ToString(format) + "\" />";
//return "<input type=\"text\" id=\"" + name + "\" name=\"" + name + "\" onclick=\"WdatePicker({el:'" + format + "'})\" class=\"Wdate\" value=\"" + date.Value.ToString(format) + "\" />";
}
else
{
//return "<input type=\"text\" id=\"" + name + "\" name=\"" + name + "\" <img onclick=\"WdatePicker({el:'" + name + "'}) class=\"Wdate\" value=\"\" />";
//return "<input type=\"text\" id=\"" + name + "\" name=\"" + name + "\" onclick=\"WdatePicker({el:'" + format +"'})\" class=\"Wdate\" value=\"\" />";
//return "<input type=\"text\" id=\"" + name + "\" name=\"" + name + "\" onclick=\"WdatePicker({el:'" + name +"'})\" class=\"Wdate\" value=\"\" />";
//return "<input type=\"text\" id=\"" + name + "\" onclick=\"WdatePicker({el:'" + format + "'})\" class=\"Wdate\" value=\"\" />";
return "<input type=\"text\" id=\"" + name + "\" onclick=\"WdatePicker({el:'" + name + "'})\" class=\"Wdate\" value=\"\" />";
}
}
3: 在自动生成的页面视图中修改相关脚本
<div class="editor-field">
<%= Html.CalendarFor(model => model.AuthorizationTime) %>
<%: Html.ValidationMessageFor(model => model.AuthorizationTime) %>
</div>
但是结果是页面出来后能正确显示日期选择框,但是点击了不出来,请老鸟帮忙看看看,另外如果有相关的下拉框等等扩展方法请共享下,mvc 虽好,但还是希望微软能够从后台到前端出一套完整的解决方案!