2012-08-23 33 views
0

我生成使用Model類如下面控制使用圖模型

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這是輸出格式和不需要的默認值嗎?

如何解決這樣的問題?

+0

參見http://stackoverflow.com/questions/4351969/asp-net-mvc-data-annotations-datetime-default-值 –

回答

0

integer類型的默認值將是zero。所以如果你沒有給它分配任何值。它會帶來零值。

如果你不想要默認的零值,你可以將你的屬性切換到Nullable類型。

+0

我只在表單字段中不需要'0'。我可以在其他地方與他們合作。 – mrN

+0

然後你可以使用在你的ViewModel中可以爲空的字符串類型,而不是int – Shyju

+0

但是...它將如何驗證數據爲數字然後 – mrN

0

更改默認值100,如果其不大於0:

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

我得到一個錯誤'模板只能用於字段訪問,屬性訪問,單維數組索引或單參數自定義索引器表達式 – mrN