在datalist中启用/禁用ImageButton

时间:2015-02-28 17:51:58

标签: c# asp.net datalist

我需要你的帮助来解决这个问题,我无法在网络上找到任何解决方案

我有像这样构建的datalist:

 <ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Name") %>
    <asp:Button ID="Button1" runat="server" Text="Button" />
<%# DataBinder.Eval(Container.DataItem, "Enabled") %>
    <asp:Button ID="Button2" runat="server" Text="Button" />
<asp:ImageButton ID="ImageButton1" runat="server" />
</ItemTemplate>

如果我从DB获得的Enabled值等于1,我想启用该按钮,我尝试在下面创建此代码,但没有成功。

     protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
     {
       int EnableDisable =     Convert.ToInt32(((DataRowView)e.Item.DataItem).Row.ItemArray[1]);
       if (EnableDisable != 1) 
       {
          Button BT = e.Item.FindControl("ImageButton1") as Button;
          BT.Enabled = true;
       }}

任何想法,你能帮助我吗?

非常感谢你。

2 个答案:

答案 0 :(得分:1)

我没有在您的代码中看到您在必要时禁用按钮的位置。你试过这个:

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
 {
     int EnableDisable = Convert.ToInt32(((DataRowView)e.Item.DataItem).Row.ItemArray[1]);
     ImageButton BT = e.Item.FindControl("ImageButton1") as ImageButton;
     BT.Enabled = (EnableDisable == 1);
 }

答案 1 :(得分:0)

更改此行

Button BT = e.Item.FindControl("ImageButton1") as Button;

通过

ImageButton BT = e.Item.FindControl("ImageButton1") as ImageButton;