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
}