2015-01-09 19 views
0

我在Textboxfor字段上使用了c#驗證屬性。該文本框已被設置爲readonly,因爲它通過Javascript從其他兩個字段的總和中獲取值。 。是否有可能也設置文本框,以便它不能被標籤或點擊?我嘗試使用Displayfor,但驗證不起作用。將文本框設置爲不可製表符

下面是我使用

<td> 
    @Html.TextBoxFor(model => model.NewLine.Total) 
</td> 
+0

您能否提供標記? – jbutler483

+2

爲什麼當客戶不應該改變它時,你是否要求/驗證?你可能會重新考慮你的回帖模型。 –

+0

如果它不是用戶輸入值,它可能不應該在輸入字段開始。 (它也不應該需要驗證邏輯...如果它不是有效的,用戶應該怎麼做?)無論如何,你可以嘗試設置它的'disabled'屬性。它不會以這種方式發佈,但如果它是一個計算值,那麼它是否真的需要發佈?難道不是,算得上嗎? – David

回答

0

您可以使用textboxfor:

@Html.TextBoxFor(model => model.NewLine.Total, new { @readonly="readonly" }) 

這將使我們只讀。還有一個屬性:

@enabled="false" 

,如果我沒有記錯


但是,我知道這聽起來「傻」,但什麼你不計算它服務器端 ,然後把它發送給你的觀點?這樣一來,因爲你必須在服務器和客戶端上的值,你就不會需要:

  1. 後回來,也不
  2. 計算它的客戶端(這很可能是對MVC設計無論如何, 模式)?
+0

其禁用。當它被禁用時,它不會被髮布 –

+0

,除非你包含hiddenFor屬性? – jbutler483

+0

如果它是從兩個輸入字段計算得到的,那麼無需將其發佈。 – CodeCaster