Asp.net mvc HTML帮助程序检查日期是否为MinValue
如果我的日期是MinValue,我可以将HTML帮助程序配置为显示String.Empty吗Asp.net mvc HTML帮助程序检查日期是否为MinValue,asp.net-mvc,spark-view-engine,Asp.net Mvc,Spark View Engine,如果我的日期是MinValue,我可以将HTML帮助程序配置为显示String.Empty吗 ${Html.TextBoxFor(v=>v.Date)} 我该怎么做 你为什么不以自己的观点去做呢 注意:Razor语法 @if(v.Date != DateTime.MinValue) { Html.TextBoxFor(v => v.Date); } else { //show whatever } 有一些类似的问题,比如 如果您完全控制viewmodel,一个选项
${Html.TextBoxFor(v=>v.Date)}
我该怎么做 你为什么不以自己的观点去做呢 注意:Razor语法
@if(v.Date != DateTime.MinValue)
{
Html.TextBoxFor(v => v.Date);
}
else {
//show whatever
}
有一些类似的问题,比如
DateTime.MinValue
,则访问器返回null
如果不想更改viewmodel,可以使用html helper并将创建空文本框的逻辑放在那里。这允许您将逻辑排除在视图之外,因为在视图中很难进行测试。将属性设置为空,并且不会默认为最小日期。如果这是一个数据库字段,而您不能这样做,那么您应该创建一个ViewModel属性,将其与min值进行比较,并在get{}中返回null,我认为您的方法是错误的。我同意@vidalsason的观点,助手的输出是一堆html,因此如果不更改助手或构建自己的助手,就无法控制其输出。