当前位置: 首页 > 面试题库 >

如何为Repeater中的LinkBut​​ton执行AsyncPostBackTrigger

岳意蕴
2023-03-14
问题内容

在我的页面中,我在转发器内部有一个LinkBut​​ton,但是UpdatePanel找不到AsyncPostBackTrigger的LinkBut​​ton。

这是mycode.aspx

<asp:ScriptManager ID="Test1" runat="server" />
<asp:UpdatePanel ID="TestUpdate" runat="server" UpdateMode="Always">
<ContentTemplate>
<table width="100%">
<tr valign="top">
    <td width="50%">
        <asp:Repeater ID="productList" runat="server" onitemcommand="productList_ItemCommand">
        <HeaderTemplate>
        <ul type="disc">
        </HeaderTemplate>
        <ItemTemplate>
        <li>
            <asp:Label id="L1" runat="server" Text='<%# Eval("productName") %>'></asp:Label><br />
            Price:
            <asp:Label runat="server" Text='<%# Eval("productPrice") %>' ></asp:Label>&nbsp;Bath<br />
            <img alt="" src="Images/product/product<%# Eval("productID") %>.png" style="width: 200px; height: 130px" /><br />
            <asp:TextBox ID="num_product" runat="server" Text="0"></asp:TextBox><br />
            <asp:LinkButton ID="order_button" runat="server"><img alt="" src="~/Images/button/order.png" /></asp:LinkButton>
        </li>
        </ItemTemplate>
        <FooterTemplate>
        </ul>
        </FooterTemplate>
        </asp:Repeater> 
    <td>
    <span class="labelText">Order list</span>
        <asp:BulletedList ID="orderList" runat="server" BulletStyle="Numbered">
        </asp:BulletedList> 
    </td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>

这是mycode.aspx.cs

protected void productList_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        //button
        /*LinkButton btn = new LinkButton();
        btn.ID = "order_button";
        btn.Click += LinkButton1_Click;
        Test1.RegisterAsyncPostBackControl(btn);*/

        LinkButton btn = (LinkButton)e.Item.FindControl("order_button");
        btn.Click += LinkButton1_Click;
        Test1.RegisterAsyncPostBackControl(btn);

            /*AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
            trigger.ControlID = btn.ClientID;
            trigger.EventName = "Click";
            TestUpdate.Triggers.Add(trigger);*/

    }
   protected void LinkButton1_Click(object sender, EventArgs e)
    {
        //string name = ProductName1.Text.ToString();
        //int price = System.Convert.ToInt32(ProductPrice1.ToString(), 10);
        //int number = System.Convert.ToInt32(TextBox1.ToString(),10);
        //orderList.Items.Clear();
        //orderList.Items.Add(new ListItem(name));
        //ListItem product1 = new ListItem();
        //product1.Text = name;
        orderList.Items.Add("test");
    }

我尝试了很多方法,但是页面仍然刷新。你有什么建议吗?


问题答案:

在Repeater控件的ItemCreated事件内部,将按钮注册到ScriptManager。

//Inside ItemCreatedEvent
ScriptManager scriptMan = ScriptManager.GetCurrent(this);
LinkButton btn = e.Item.FindControl("order_button") as LinkButton;
if(btn != null)
{
    btn.Click += LinkButton1_Click;
    scriptMan.RegisterAsyncPostBackControl(btn);
}


 类似资料:
  • 问题内容: 我在UpdatePanel的ListView中有一个LinkBut​​ton。我希望按钮(好吧,其中的任何一个)引起部分回发,但它们却引起整个页面的回发。 我在stackoverflow上发现了另一条建议添加此内容的帖子: 没什么不同… 也有一些其他类似的帖子,但是我找不到解决方案!有任何想法吗? 问题答案: ASP.NET 4中的ClientIDMode设置使您可以指定ASP.NET

  • Burp Repeater Burp Repeater is a simple tool for manually manipulating and reissuing individual HTTP requests, and analyzing the application's responses. You can send a request to Repeater from anywhe

  • 第九章 如何使用Burp Repeater Burp Repeater作为Burp Suite中一款手工验证HTTP消息的测试工具,通常用于多次重放请求响应和手工修改请求消息的修改后对服务器端响应的消息分析。本章我们主要学习的内容有: Repeater的使用 可选项设置(Options) Repeater的使用 在渗透测试过程中,我们经常使用Repeater来进行请求与响应的消息验证分析,比如修改

  • jQuery 重复表单字段。保证表单字段的 name 及 ID 递增。 示例: //All options are optional.    new Repeater($('.repeatable'), {        addSelector: '.repeater-add', //The css selector for the add button.        removeSelecto

  • 本文向大家介绍asp.net在Repeater嵌套的Repeater中使用复选框详解,包括了asp.net在Repeater嵌套的Repeater中使用复选框详解的使用技巧和注意事项,需要的朋友参考一下 .aspx文件中: .aspx.cs文件中: 以上所述是小编给大家介绍的asp.net在Repeater嵌套的Repeater中使用复选框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会

  • 问题内容: 我知道设计不能通过中断来控制其执行,但是我想其中有些人可能会遇到此问题。s是组成异步执行的一种非常好的方法,但是考虑到当您希望取消future时中断或停止基础执行时,我们该怎么做?还是我们必须接受,任何取消或手动完成的操作都不会影响正在执行该操作的线程? 我认为,那显然是一项无用的工作,需要花费执行者的时间。我想知道在这种情况下哪种方法或设计可能会有所帮助? 更新 这是一个简单的测试