Repelate,Linkbutton和ModalPopupExtender没有回发

时间:2012-09-03 14:30:01

标签: c# asp.net ajax repeater

这是我的问题。

我有一个转发器。里面有很多文本框。在最右边的列中,有一个链接按钮。单击此链接按钮将显示一个modalpopupextender,它将显示所选行的详细记录。

我已经让它工作得很好,但它很慢,因为当你点击链接按钮时,它会刷新整个页面。

我不想重新加载转发器,因为这是非常慢的部分。

我尝试在updatePanel中添加一个updatePanel(转发器),但由于转发器位于updatePanel内部,它仍会重新加载转发器。

所以问题是,如何点击链接按钮,它不会重新加载转发器......

任何想法都将不胜感激。 顺便说一句,我正在用.net 2.0,c#

开发它

3 个答案:

答案 0 :(得分:1)

Try this one.

<asp1:UpdatePanel ID="updatepanel4" runat="server" >
<ContentTemplate>
 <table id="AssignedRequest" class="tablecont" runat="server" style="width: 900px;" >
 <tr>
   <td>
  <div style=" display:block; width:900px; height:350px;overflow:scroll; ">
    <asp:Repeater runat="server" ID="RepeaterRequest"> 
     <HeaderTemplate >
     <table class="list_table" border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
        <th>Name</th>
        <th></th>
    </tr>
</HeaderTemplate>
<ItemTemplate>
  <tr>
    <td><%# Eval("NAME")%></td>

<td><a onclick="window.open(this.href,this.target,'directories=no,
     menubar=no,resizable=no,scrollbars=1,
     status=no,toolbar=no,addressbar=no,fullscreen=yes'); 
     return false;" href="View.aspx?name=<%#Eval("NAME")%>">View</a></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>

</FooterTemplate>
</asp:Repeater>
</div>
</td>
 </tr>
</table>
 </ContentTemplate>
</asp1:UpdatePanel>

答案 1 :(得分:0)

在后面的代码中注册,这个代码是在绑定后添加的,例如在你的Page_Load中,(你也可以使用ItemDataBound或ItemCreated委托)。

        rpt.DataBind();
        foreach (RepeaterItem ri in rpt.Items)
        {
            if (ri.ItemType == ListItemType.Item || ri.ItemType == ListItemType.AlternatingItem)
            {
                LinkButton lnkButton1 = (LinkButton)ri.FindControl("lnkButton1");
                ScriptManager1.RegisterAsyncPostBackControl(lnkButton1);
            }
        }

答案 2 :(得分:0)

为什么不去寻找像母子关系这样的东西。您是否需要与向用户显示的子数据进行进一步交互?如果是,请说明性质。

假设您要显示的子数据是简单的数据,只是为了向用户传达相关数据,您可以使用jQuery和转发器来实现您的目标。

您显示主数据的第一个转发器。对于转发器中的每一行,您可以在此处显示一个显示按钮。你这里不需要链接按钮;只是一个简单的锚将做。您必须在其中编写j来切换正确的子数据。

还应重复所有子数据。但最初没有向用户显示。仅应显示该特定子项 - 这适当地由在主中继器上单击的显示锚点触发。休息是所有js / css。

以下是演示该概念的示例项目的链接。

http://www.coderun.com/ide/?w=2ObqOpjZz0qt7OrXYmmxwA