【问题标题】:Enable/Disable ImageButton in datalist在数据列表中启用/禁用 ImageButton
【发布时间】:2015-03-02 20:21:48
【问题描述】:

我需要你的帮助,我在网上找不到任何解决方案

我有这样构建的数据列表:

 <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>

我想启用按钮,只要我从数据库获得的 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;
       }}

有什么想法,你能帮帮我吗?

非常感谢。

【问题讨论】:

    标签: c# asp.net datalist


    【解决方案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);
     }
    

    【讨论】:

      【解决方案2】:

      改变这一行

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

      通过

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

      【讨论】:

      • 更换 imageButton 后能否提供更多调试信息。
      • 是的,我想要的是在“启用”值等于 1 时显示此按钮
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-04
      • 2019-07-17
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      相关资源
      最近更新 更多