Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
updatepanel不会触发repeater itemcommand_Updatepanel_Repeater_Linkbutton_Itemcommand - Fatal编程技术网

updatepanel不会触发repeater itemcommand

updatepanel不会触发repeater itemcommand,updatepanel,repeater,linkbutton,itemcommand,Updatepanel,Repeater,Linkbutton,Itemcommand,我只想触发一个中继器中的LinkButton,它有一个OnItemCommand。但是页面确实会发回。这是我的密码: <asp:UpdatePanel ID="recommendedAdvertsUpPnl" runat="server"> <ContentTemplate> <div class="tagList"> <asp:Label ID="lbListBookType" runat=

我只想触发一个中继器中的LinkButton,它有一个OnItemCommand。但是页面确实会发回。这是我的密码:

<asp:UpdatePanel ID="recommendedAdvertsUpPnl" runat="server">
    <ContentTemplate>
        <div class="tagList">       
            <asp:Label ID="lbListBookType" runat="server"></asp:Label>
            <asp:Repeater ID="rpRecommendedAdvertFacultyList" runat="server" OnItemDataBound="rpRecommendedAdvertFacultyList_ItemDataBound" OnItemCommand="rpRecommendedAdvertFacultyList_ItemCommand">
                <HeaderTemplate></HeaderTemplate>
                <ItemTemplate>
                    <asp:LinkButton ID="lbtnAdvertFaculty" runat="server" CommandArgument='<%#Eval("facultyId") %>' CommandName="selectFaculty" CssClass="advertFacultySelection"></asp:LinkButton>
                </ItemTemplate>
                <FooterTemplate></FooterTemplate>
            </asp:Repeater>        
        </div>
    <div class="RecommendedAdverts_List">
    <asp:Repeater ID="rpRecommendedAdvertList" runat="server" OnItemDataBound="rpRecommendedAdvertList_ItemDataBound">
        <HeaderTemplate>
            <ul class="content_recommended">
        </HeaderTemplate>
        <ItemTemplate>
            <%# Container.ItemIndex % 4 == 0  ? "<li><div class=advertContainer>": String.Empty%>
            <div class="advertPanel">
                <div class="rAdvPanel">
                    <div class="advertPic"><asp:Panel ID="pnlRecAdvertPic" runat="server"></asp:Panel></div>
                    <div class="advertInfoPanel">
                        <a href="../../IlanDetay/<%#Eval("Book.name") %>/<%#Eval("id") %>"><%#Eval("Book.Name")%></a> <br />
                        <%#Eval("Book.Authors")%><br />
                        <%#Eval("Price")%> TL<br />
                    </div>
                </div>
            </div>
        <%# Container.ItemIndex % 4 == 3 ? "</div></li>": String.Empty%>
        </ItemTemplate>
        <FooterTemplate>
                </div></li>
            </ul>
        </FooterTemplate>
    </asp:Repeater>
    </div>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="rpRecommendedAdvertFacultyList" EventName="ItemCommand" />
    </Triggers>

</asp:UpdatePanel>


TL
除了触发之外没有问题。以下是我的服务器端代码:

protected void rpRecommendedAdvertFacultyList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
    {
        AdvertFacultyInfo item = (AdvertFacultyInfo)e.Item.DataItem;
        LinkButton lbtnAdvertFaculty = (LinkButton)e.Item.FindControl("lbtnAdvertFaculty");

        lbtnAdvertFaculty.Text = item.Faculty.name;            
    }
}

protected void rpRecommendedAdvertFacultyList_ItemCommand(object source, RepeaterCommandEventArgs e)
{        
    switch (e.CommandName)
    {
        case "selectFaculty":
            List<AdvertFacultyInfo> advFacultyInfoList = EntitiyProvider.GetAdvertFacultyInfoListByFacultyId(Convert.ToInt32(e.CommandArgument));
            List<Advert> selectedList = new List<Advert>();
            foreach (AdvertFacultyInfo item in advFacultyInfoList)
            {
                Advert currentAdv = this.recommendedAdvertList.FirstOrDefault(i => i.id == item.advertId);
                if ( currentAdv != null)
                {
                    selectedList.Add(currentAdv);
                }
            }
            rpRecommendedAdvertList.DataSource = selectedList;
            rpRecommendedAdvertList.DataBind();

            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "temp", "<script type='text/javascript'>$('.content_recommended').quickPager()</script>", false);
            break;

        default:
            break;
    }
}
protectedvoid rprecommendedavertfacultylist\u ItemDataBound(对象发送方,RepeaterItemEventArgs e)
{
如果(e.Item.ItemType==ListItemType.AlternatingItem | | e.Item.ItemType==ListItemType.Item)
{
AdvertFacultyInfo item=(AdvertFacultyInfo)e.item.DataItem;
LinkButton lbtnAdvertFaculty=(LinkButton)e.Item.FindControl(“lbtnAdvertFaculty”);
lbtnadverteculty.Text=item.Faculty.name;
}
}
受保护的void rprecommendedavertfacultylist_ItemCommand(对象源,RepeaterCommandEventArgs e)
{        
开关(例如CommandName)
{
案例“selectFaculty”:
List advFacultyInfoList=EntitiyProvider.getadvfacultyinfolistbyfacultyid(Convert.ToInt32(e.CommandArgument));
List selectedList=新建列表();
foreach(AdvFacUltyFolist中的AdvFacUltyInfo项)
{
Advert currentAdv=this.recommendedAdvertList.FirstOrDefault(i=>i.id==item.advertId);
如果(currentAdv!=null)
{
选择列表。添加(当前adv);
}
}
rprecommendedvertlist.DataSource=selectedList;
rprecommendedvertlist.DataBind();
ScriptManager.RegisterStartupScript(this.Page,this.GetType(),“temp”,“$('.content_推荐')).quickPager(),false);
打破
违约:
打破
}
}
我也尝试过这段代码:但它给出了LBTN无法找到的错误

<asp:AsyncPostBackTrigger ControlID="lbtnAdvertFaculty" EventName="Click" />

我已经研究了很多关于这个问题的文档,但是我找不到有用的例子和解决方案

致以最诚挚的问候。

尝试将clientmode=“AutoID”放入@page指令