2012-03-26 121 views
0

這裏是我的代碼:MVC文本框只讀不工作

<%= Html.TextBox("txtId", new { @readonly = "readonly" })%> 

但它不工作。爲什麼?

+0

呈現的html看起來像什麼? – asawyer 2012-03-26 13:17:59

+0

@asawyer 2012-03-26 13:19:41

回答

3
<%= Html.TextBox("txtId", null, new { @readonly = "readonly" })%> 

這是正確的代碼。第二個參數指定文本框的值。

1

使用:

<%= Html.TextBox("txtId", new { @readonly = "true" })%> 

編輯:更好地利用TextBoxFor與類型化模式:

<%= Html.TextBoxFor(model => model.Id, new { @readonly = "true" })%> 
+0

這也行不通。 – 2012-03-26 13:19:01

+1

我以前從未見過TextBox Fox;)但是你說得對:) – ThdK 2012-03-26 13:25:01

+0

感謝您的錯字,編輯了這篇文章:-) – 2012-03-26 13:39:53

0

的屬性應該是第三個參數。

TextBox('ID', 'value', 'attributes' 
1

嘗試

<%= Html.TextBox("txtId", "", new { @readonly = "readonly" })%> 

(第二個參數是值和第三表示HTML屬性)

在代碼的問題是,所述new { @readonly = "readonly" }對象被解釋爲值以顯示在文本框中

1

您錯過了第二個參數。您想要將該模型的哪個屬性綁定到此文本框。這應該是第二個參數。

<%= Html.TextBox("ID", Model.Attr, new { @readonly="readonly" })%> 

,如果你不希望綁定到你的模型使用null作爲第二個屬性:

<%= Html.TextBox("ID", null, new { @readonly="readonly" })%> 
0

使用下面的代碼。

<%= Html.TextBox("txtId", string.Empty ,new { @readonly = "readonly" })%>