控制使用视图模型生成的表单元素的默认值和格式

时间:2012-08-23 18:43:55

标签: asp.net-mvc vb.net html-helper asp.net-mvc-viewmodel

我正在使用Model Class生成Form元素,如下所示

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哪个超出格式且不需要的默认值?

如何解决这样的问题?

2 个答案:

答案 0 :(得分:0)

integer类型的默认值为zero。因此,如果您没有为其分配任何值。它会带来零作为值。

如果您不想使用默认的零值,可以将属性切换为Nullable类型。

答案 1 :(得分:0)

如果默认值不大于0,则将默认值更改为:

<%= Html.TextBoxFor(Function(x) If(x.PatientNin > 0, x.PatientNin, 100))%>