2017-07-25 57 views
4

我的頁面上有一個接受整數值的HTML數字輸入。代碼如下:默認值設置爲0的輸入呈現不帶0

@Html.TextBox("Answer[" + i + "].Score", null, new { @class = "form-control", type = "number", value="0", id = "Answer[" + i + "]_Score" }) 

在我的模型我已經拖欠所有Score屬性設置爲0,但它仍然沒有與視圖中的0渲染。然後我用value="0"直接輸入,但它仍然不呈現0

它呈現這樣的:

<input class="form-control" id="Answer[0]_Score" name="Answer[0].Score" type="number" value=""> 

當我去保存表單這僅僅是一個問題,一個空值當分數不可爲空時,發送給控制器,因此表單不提交。

有沒有辦法讓0成爲默認值而不是空白值?

+0

使用0不加引號。因爲這是一個'type = number',所以你傳遞一個字符串''0''而不是0''value = 0'(Yvette是正確的,我沒有看到當我評論時發佈的答案)。 –

回答

5

使用Value with a capital V

Value = "0" 

value="0" 

value是制定者使用的關鍵字。 for example

private int num; 
public virtual int Number 
{ 
    get { return num; } 
    set { num = value; } 
} 

當你需要在創建該對象在代碼中明確設置的「NUM」的值(在這種情況下,答案_ ++)背後 - 值未設置,所以它是空的。因此Value不會被setter的值覆蓋。

通過控制器傳遞數據時也總是有錯誤處理和空檢查。

+0

這不起作用0不回發。 HTML仍然呈現爲值而不是值= 0 –

+0

那就是那個!謝謝! –

+0

我沒有讓你失望,我看到它在我投票之前就停止了。我不知道爲什麼它是downvoted。 –

2

確保Value中的'v'是大寫。然後使用:

Value = "0" 
+0

這不工作,一個0不會回發 –

+0

請確保Value中的'v'是大寫。然後使用Value =「0」。 –

+0

現在它應該工作 –

相關問題