出现的现象下面有具体的描述,有两个问题想问一下:
1、如果想在强类型视图中使用EasyUI的日期控件,给怎样操作?
2、MVC的Razor引擎提供有相关的日期组件吗?
出现的问题的过程描述:
在MVC强类型视图中为了输入日期方便,使用了EasyUI的日期组件datebox。使用的方法如下:
<td>@Html.DisplayNameFor(o=>o.Birthdate)</td><!--出生年月-->
<td>@Html.TextBoxFor(o => o.Birthdate, new { @class = "easyui-datebox", @editable = "false" })</td>
开始出现的问题:在浏览器端并没有显示非空验证提示。但是总是操作失败(ModelState.IsValid始终等于false),经过调试发现是“出生年月”这个属性出的问题。
在浏览器端查看了一下代码发现“出生年月”所在的标签根本就没有打上非空验证的特性:
<input type="text" class="textbox-text textbox-text-readonly validatebox-text valid textbox-prompt" autocomplete="off" readonly="readonly" placeholder="" style="margin-left: 0px; margin-right: 18px; padding-top: 2px; padding-bottom: 2px; width: 1090px;">
暂时将“出生年月”标签的EasyUI自定义属性去掉,代码如下:
<td>@Html.DisplayNameFor(o=>o.Birthdate)</td><!--出生年月-->
<td>@Html.TextBoxFor(o => o.Birthdate)</td>
再次查看浏览器端代码:
<input data-val="true" data-val-date="字段 出生年月 必须是日期。" data-val-required="出生年月必填!" id="Birthdate" name="Birthdate" type="text" value="">
这个时候就有非空验证的相关属性。