2013-04-25 102 views
0

以我剃刀形式我有這樣的:如何從模型中隱藏模型中的默認值?

@Html.TextBoxFor(vm => vm.User.TotalSales) 

因爲用戶對象不爲空,TotalSales默認爲0的值,並且該顯示器的形式。

有沒有一種方法可以使用內置的幫助程序將其清除,還是必須通過javascript或其他方法執行此操作?

我害怕,如果我必須通過JavaScript來做到這一點,當用戶發佈表單,並有錯誤,我的JavaScript將再次擦除該文本框,當它不應該。

+0

讓totalSales可空,併爲其分配空當創建一個模型 – 2013-04-25 20:07:52

回答

0

你可以做一個檢查你的輸出前的文本框:

@if (vm.User.TotalSales != 0) 
{ 
    Html.TextBoxFor(vm => vm.User.TotalSales) 
} 
else{ 
    Html.TextBoxFor(vm => vm.User.TotalSales.Age, new { @Value = "" }) 
} 
+0

我想你誤會了,該vm.User永遠不能爲null,這個問題是物業TotalSales是int,默認爲0。所以形式文本框默認值爲0,我希望它是空白的。 – loyalflow 2013-04-25 19:01:39

+0

哦,所以你仍然想要文本框,但空白,對不對? – Kenneth 2013-04-25 19:02:29

+0

是的,我不希望默認值爲0. – loyalflow 2013-04-25 19:06:50

1

在我的應用我做了性能可空,並與RequiredAttribute標籤標示他們。

+0

我的房子是必填的,我不想在我的分表中填入空格。 – loyalflow 2013-04-25 19:02:12

+2

我用來爲MVC創建單獨的模型。因此,在數據庫模型中具有非空值屬性並且在視圖模型中可以爲空是不成問題的。當然,這需要額外的努力,但可以將更多數據放在模型中而不是ViewBag中。 – Alex 2013-04-25 19:11:45

0

使用具有所需屬性的模型驗證。像這樣的東西。

[Required] 
public int age{ get; set; }