禁用ListView上的选择

时间:2011-03-31 16:20:08

标签: asp.net listview

我想根据行中的其他数据禁用ListView的Select命令。例如,如果UserStatus是“T”,我想使选择超链接变灰并阻止选择该行。

我通过RowCreated事件中的以下语句在GridView中完成了同样的事情。但是,我无法为ListView重做该代码。

CType(e.Row.Controls(0), WebControl).Attributes("disabled") = "true"

<asp:listview runat="server" id="ListView">

<itemtemplate>
  <tr id="rowUsers" runat="server">
    <td><asp:linkbutton id="btnEdit" runat="server" text="Select" onclick="btnEdit_Click" /></td>
    <td><asp:label id="UserNameLabel" runat="server" text='<%# Bind("UserName") %>' /></td>
    <td><asp:label id="UserStatusLabel" runat="server" text='<%# Bind("UserStatus") %>' /></td>
  </tr>
</itemtemplate>

生成输出......

<tr id="ListView_rowUsers_0">
  <td><a id="ListView_btnEdit_0" href="javascript:__doPostBack('ListView$ctrl0$btnEdit','')">Select</a></td>
  <td><span id="ListView_UserNameLabel_0">Adams,John P</span></td>
  <td><span id="ListView_UserStatusLabel_0">T</span></td>
</tr>

3 个答案:

答案 0 :(得分:0)

CType(e.Item.Controls(0), WebControl).Attributes("disabled") = "disabled"
ListView的ItemCreated

上的

答案 1 :(得分:0)

最好使用ItemDataBound事件并执行FindControl(“btnEdit”)并简单地设置Enabled属性。

如何使用ListView ItemDataBound事件。

答案 2 :(得分:0)

在项目模板中,您可以使用数据绑定语法来禁用按钮

<ItemTemplate>
    <asp:LinkButton id="btnEdit" runat="server" text="Select" 
                  Enabled=<%# Eval("UserStatus") == "T" %> />
</ItemTemplate>