Asp.net mvc 控制使用视图模型生成的表单元素的默认值和格式
我使用模型类生成表单元素,如下所示Asp.net mvc 控制使用视图模型生成的表单元素的默认值和格式,asp.net-mvc,vb.net,html-helper,asp.net-mvc-viewmodel,Asp.net Mvc,Vb.net,Html Helper,Asp.net Mvc Viewmodel,我使用模型类生成表单元素,如下所示 Public Class BookAppointment Property DoctorNin As Integer Property PatientNin As Integer Property BookingDate As Date Property Doctors As IEnumerable(Of SelectListItem) End Class 当我将此视图模型传递到视图页面时,一些值已经作为默认值存在,但它们无
Public Class BookAppointment
Property DoctorNin As Integer
Property PatientNin As Integer
Property BookingDate As Date
Property Doctors As IEnumerable(Of SelectListItem)
End Class
当我将此视图模型传递到视图页面时,一些值已经作为默认值存在,但它们无效
像我使用的PatientNin
<%= Html.TextBoxFor(Function(x) x.PatientNin)%>
当表单被渲染时,它会得到一个0
作为默认值,这是不需要的。如何控制这些默认值
在上述情况下,BookingDate
也会发生同样的情况,在文本框中我得到1/1/0001 12:00:00 AM
,这是一个格式错误和不需要的默认值
如何解决这样的问题?整数类型的默认值为
零。因此,如果您没有为其指定任何值。它将带来零作为值
如果不需要默认的零值,可以将属性切换为可为null的类型。如果不大于0,则将默认值更改为100:
<%= Html.TextBoxFor(Function(x) If(x.PatientNin > 0, x.PatientNin, 100))%>
0,x.PatientNin,100%)>
我只希望表单字段中没有0
。我可以在其他地方使用它们。然后您可能可以使用字符串类型,它在您的ViewModel中可以为null,而不是intBut。。。它将如何验证数据是否为数字,然后请参见另一个错误模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。