简体   繁体   English

ItemCommand事件不会与母版页中的中继器控件一起触发

[英]ItemCommand event doesn't fire with repeater control in master page

I have a masterpage that a repeater is inside it that has an imagebutton . 我有一个母版,其中有一个带有imagebutton的转发器。 but the ItemCommand event doesn't fire with repeater control in master page. 但是ItemCommand事件不会与母版页中的中继器控件一起触发。 please help me. 请帮我。

here is my code: 这是我的代码:

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

Codebehind: 代码隐藏:

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

Rather than using Repeater.ItemCommand , try using ImageButton.Click event. 而不是使用Repeater.ItemCommand ,请尝试使用ImageButton.Click事件。

<asp:ImageButton  ID="ImageButton1" runat="server"  class="buttonclass"    
    ImageUrl="~/css/images/img1.png"  visible="true"   
    CommandName="ADD" CommandArgument='<%# Eval("Pid") %>'
    OnClick="ImageButton1_Click" />

And Code: 和代码:

protected void ImageButton1_Click(object sender, EventArgs e)
{
    ImageButton b = sender as ImageButton;
    var arg = b.CommandArgument;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM