2

我在 asp GridView 的模板字段中有一个按钮和一个复选框。我希望根据数据字段到期有条件地设置按钮的禁用属性和复选框的选中属性。如果 Expiration 等于 Permanent,则应禁用该按钮并选中该复选框。如果不是,则启用该按钮且未选中复选框。我试过了:

<input type="button" id="expiration" disabled='<%# (string)Eval("Expiration") == "Permanant" ? "disabled" : "enabled" %>' value='<%# Eval("Expiration") %>'/>
<input type="checkbox" id="permanent" checked= '<%# (string)Eval("Expiration") == "Permanant" ? "checked" : "unchecked" %>'/>

但似乎只列出 disabled 和 checked 属性会导致所有按钮被禁用并选中所有复选框。

4

1 回答 1

4

disabled并且checked是布尔属性。他们接受值disabledchecked分别。

如果您不希望默认选中/禁用该控件,则根本不要包含该属性

由于它们是布尔属性,您可以省略除值之外的所有内容。

<input type="button" 
       id="expiration" 
       <%# (string)Eval("Expiration") == "Permanant" ? "disabled" : "" %> 
       value='<%# Eval("Expiration") %>'>
<input type="checkbox" 
       id="permanent" 
       <%# (string)Eval("Expiration") == "Permanant" ? "checked" : "" %>>

不过,您的复选框应该有一个明确的值,请参阅 DTD 中的注释:

  value       CDATA          #IMPLIED  -- Specify for radio buttons and checkboxes --
于 2012-06-05T13:48:22.573 回答