C# 母版页中的repeater控件不会触发ItemCommand事件
我有一个母版页,里面有一个转发器,有一个imagebutton。但是ItemCommand事件不会在母版页中使用repeater控件触发。请帮帮我 这是我的密码:C# 母版页中的repeater控件不会触发ItemCommand事件,c#,asp.net,C#,Asp.net,我有一个母版页,里面有一个转发器,有一个imagebutton。但是ItemCommand事件不会在母版页中使用repeater控件触发。请帮帮我 这是我的密码: <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> <asp:repeater ID="Repeater1" runat="server" OnIt
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<asp:repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_I">
<ItemTemplate>
<div class="product">
<a title="Details" href="#"> <img id="Img1" alt="" src='<%# Eval("image") %>' runat="server" class="img-zoom" /> </a>
<p><%# Eval("Pname") %></p>
<br />
<asp:ImageButton ID="ImageButton1" runat="server" class="buttonclass" ImageUrl="~/css/images/img1.png" visible="true" CommandName="ADD" CommandArgument='<%# Eval("Pid") %>' />
</div>
</ItemTemplate>
</asp:repeater>
不要使用Repeater.ItemCommand,请尝试使用ImageButton。单击事件
请发布设计源的完整代码。如果前面有多个控件,则无法为所有控件创建单独的事件。ItemCommand用于冒泡子控件的事件。很可能是因为这个if Page.IsPostBack{return;}tnx用于响应,但我将它更改为:if!Page.IsPostBack{Repeater1.DataSource=adsource;Repeater1.DataBind;}但不起作用当您单击按钮时,是否会发生回发?Javascript相关错误。检查代码中的jQuery和javascript。浏览器控制台窗口可能有助于查看错误
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
return;
}
else
{
Repeater1.DataSource = adsource;
Repeater1.DataBind();
}
}
protected void Repeater1_I(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "ADD")
{
//Do Something
}
}
<asp:ImageButton ID="ImageButton1" runat="server" class="buttonclass"
ImageUrl="~/css/images/img1.png" visible="true"
CommandName="ADD" CommandArgument='<%# Eval("Pid") %>'
OnClick="ImageButton1_Click" />
protected void ImageButton1_Click(object sender, EventArgs e)
{
ImageButton b = sender as ImageButton;
var arg = b.CommandArgument;
}