这是我的代码:
<%= Html.TextBox("txtId", new { @readonly = "readonly" })%>
但它不起作用。为什么呢?
答案 0 :(得分:3)
<%= Html.TextBox("txtId", null, new { @readonly = "readonly" })%>
这是正确的代码。第二个参数指定文本框的值。
答案 1 :(得分:1)
使用:
<%= Html.TextBox("txtId", new { @readonly = "true" })%>
编辑:最好使用带有键入模型的TextBoxFor:
<%= Html.TextBoxFor(model => model.Id, new { @readonly = "true" })%>
答案 2 :(得分:1)
尝试
<%= Html.TextBox("txtId", "", new { @readonly = "readonly" })%>
(第二个参数是值,第三个参数代表HTML属性)
代码中的问题是new { @readonly = "readonly" }
对象被解释为要在文本框中显示的值
答案 3 :(得分:1)
你错过了第二个参数。您希望将此模型的哪个属性绑定到此文本框。这应该是第二个参数。
<%= Html.TextBox("ID", Model.Attr, new { @readonly="readonly" })%>
如果您不想绑定到模型,请使用null作为第二个属性:
<%= Html.TextBox("ID", null, new { @readonly="readonly" })%>
答案 4 :(得分:0)
属性应该是第3个参数。
TextBox('ID', 'value', 'attributes'
答案 5 :(得分:0)
使用以下代码。
<%= Html.TextBox("txtId", string.Empty ,new { @readonly = "readonly" })%>
答案 6 :(得分:0)
就我而言,我意识到显示值的数据类型必须是字符串。 因此我将Model.SOME_DATE从DateTime转换为字符串,并且代码工作正常。
@Html.EditorFor(model => model.SOME_DATE, new { htmlAttributes = new { @class = "form-control", @readonly = true } })