tags:

views:

794

answers:

2

I want to disable a textbox in the view. So I use following code:

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

or

<%= Html.TextBox("ID", Model.ID, new { enable="false" })%>

Both of them don't work. what's the solution?

+2  A: 

Try

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

I'm not sure you have to use the overload with 4 parameters. You should be able to use the one with 3, but you need to append @ to the readonly since readonly is a keyword in C#. And setting @readonly to readonly is XHTML compliant.

Brandon
+3  A: 

Try

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

instead of

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

If you check the documentation, you can see that the third parameter is not htmlAttributes, as you probably expected.

You need to use the overload with four parameters.

mookid8000
It seems like this has changed and that the 3rd parameter *IS* htmlAttributes.
mattruma