C# 中继器控制禁用按钮

C# 中继器控制禁用按钮,c#,asp.net,repeater,C#,Asp.net,Repeater,我有一个中继器(名为list\u user),其中包含字段(id\u user,name,mail)和按钮contact)。我想执行一个控件,允许禁用特定用户名的联系人按钮 这是我的密码 aspx: <asp:Repeater ID="list_user" runat="server" OnItemDataBound="list_user_ItemDataBound1"> <HeaderTemplate> <ta

我有一个中继器(名为
list\u user
),其中包含字段(
id\u user
name
mail
)和按钮
contact
)。我想执行一个控件,允许禁用特定用户名的联系人按钮 这是我的密码

aspx:

   <asp:Repeater ID="list_user" runat="server" OnItemDataBound="list_user_ItemDataBound1">
          <HeaderTemplate>
              <table border="1" class="grid">
                  <thead>
                      <tr>
                          <th> Id user </th>  
                          <th> username </th>
                          <th> mail</th>
                          <th> Contact</th>                                                                    
                      </tr>
                  </thead>
                  <tbody>
                  </HeaderTemplate>
                  <ItemTemplate>
                 <tr>
                     <td><asp:Label runat="server" ID="id_user" Text='<%# Eval("iduser")%>'></asp:Label></td>    
                     <td><asp:Label runat="server" ID="username" Text='<%# Eval("name")%>' ></asp:Label></td> 
                     <td><asp:Label runat="server" ID="mail" Text='<%# Eval("mail_adress")%>'></asp:Label></td>                                                
                    <td><asp:Button runat="server" ID="contact" Text="contact_user" OnClick="contact_Click1"/></td>
                  </ItemTemplate>
                     <FooterTemplate>  
                      .....

但是显示器没有任何问题

我使用了你上面的代码,它工作得很好。你可能在数据绑定上有问题。您正在寻找有效的数据绑定。我在用户类中使用了您的属性,并创建了用户列表,然后将其绑定到repeater控件,它工作正常

Aspx

<asp:Repeater ID="list_user" runat="server" OnItemDataBound="list_user_ItemDataBound1">
      <HeaderTemplate>
          <table border="1" class="grid">
              <thead>
                  <tr>
                      <th> Id user </th>  
                      <th> username </th>
                      <th> mail</th>
                      <th> Contact</th>                                                                    
                  </tr>
              </thead>
              <tbody>
              </HeaderTemplate>
              <ItemTemplate>
             <tr>
                 <td><asp:Label runat="server" ID="id_user" Text='<%# Eval("iduser")%>'></asp:Label></td>    
                 <td><asp:Label runat="server" ID="username" Text='<%# Eval("name")%>' ></asp:Label></td> 
                 <td><asp:Label runat="server" ID="mail" Text='<%# Eval("mail_adress")%>'></asp:Label></td>                                                
                <td><asp:Button runat="server" ID="contact" Text="contact_user" OnClick="contact_Click" /></td>
              </ItemTemplate>
    <FooterTemplate></FooterTemplate>
    </asp:Repeater>

有什么问题…我使用您的代码并使用您指定的属性获取用户类时,您是否绑定了数据。因此它对我有效。它还禁用了除指定的“alex”之外的其他用户联系按钮。我将数据源和数据绑定放在页面加载中,网格由数据库中的数据填充,但只有list_user_ItemDataBound1不起作用
<asp:Repeater ID="list_user" runat="server" OnItemDataBound="list_user_ItemDataBound1">
      <HeaderTemplate>
          <table border="1" class="grid">
              <thead>
                  <tr>
                      <th> Id user </th>  
                      <th> username </th>
                      <th> mail</th>
                      <th> Contact</th>                                                                    
                  </tr>
              </thead>
              <tbody>
              </HeaderTemplate>
              <ItemTemplate>
             <tr>
                 <td><asp:Label runat="server" ID="id_user" Text='<%# Eval("iduser")%>'></asp:Label></td>    
                 <td><asp:Label runat="server" ID="username" Text='<%# Eval("name")%>' ></asp:Label></td> 
                 <td><asp:Label runat="server" ID="mail" Text='<%# Eval("mail_adress")%>'></asp:Label></td>                                                
                <td><asp:Button runat="server" ID="contact" Text="contact_user" OnClick="contact_Click" /></td>
              </ItemTemplate>
    <FooterTemplate></FooterTemplate>
    </asp:Repeater>
protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        List<User> list = new List<User>();
        User u = new User();
        u.iduser = 0;
        u.name = "alex";
        u.uContact = "555399";
        u.mail_adress = "fdsfsfdsddsff@gmail.com";
        list.Add(u);
        for (int i = 1; i < 5;i++ )
        {
            u = new User();
            u.iduser = i;
            u.name = "alex "+i;
            u.uContact = "555399";
            u.mail_adress = "fsddfsdsdf@gmail.com";
            list.Add(u);
        }

        list_user.DataSource = list;
        list_user.DataBind();
    }
}
class User
{
    public int iduser { get; set; }
    public string name { get; set; }
    public string mail_adress { get; set; }
    public string uContact { get; set; }
}
protected void list_user_ItemDataBound1(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {

        Label nom = (System.Web.UI.WebControls.Label)e.Item.FindControl("username") as System.Web.UI.WebControls.Label;
        System.Web.UI.WebControls.Button btn = (System.Web.UI.WebControls.Button)e.Item.FindControl("contact") as System.Web.UI.WebControls.Button;
        if (nom.Text == "alex")
        { btn.Enabled = true; }
        else
        { btn.Enabled = false; }

    }
}
protected void contact_Click(object sender, EventArgs e)
{
    //Add for click
}