如何根据条件启用或禁用文本框

时间:2011-06-17 07:51:57

标签: asp.net-mvc

          <%= Html.TextBox("txtWeight", EmployeeInformation.Weight, new { style = "font-family:Verdana;font-size:9px;", @onfocus = "this.value=''", @onmouseover = "jsWeight()",  @readonly= (ViewData["flag"].ToString().CompareTo("true")==0 ? true : false) })%>

           <%= Html.TextBox("txtWeight", EmployeeInformation.Weight, new { style = "font-family:Verdana;font-size:9px;", @onfocus = "this.value=''", @onmouseover = "jsWeight()",  @readonly= ViewData["flag"].ToString()) })%>

上面的代码我用来在文本框中显示信息,你可以看到我使用onFocus和onMouseover,这样我就可以在工具提示中显示数据,并且我使用@readonly来确保文本框可以是也可以不是根据condidtion编辑。 但这不适合我。 我已经检查了viewData的值,这是好的。就像我传递给它一样。 我也尝试过使用Disable,但是当我使用Disabled时,我每次都会将值视为禁用 当我使用禁用我的on foucs事件不起作用

1 个答案:

答案 0 :(得分:0)

您不能依赖@readonly@disabled,因为它们只是简单地通过存在来使字段只读或禁用。虽然正确的语法应该是:

<input readonly="readonly" />
<input disabled="disabled" />

可以通过以下方式实现相同的结果:

<input readonly="" />
<input disabled="" />

或者简单地说:

<input readonly />
<input disabled />

如果您不希望只读取或禁用字段,最好完全省略这些属性。