[英]Repeater, Linkbutton and ModalPopupExtender without postback
這是我的問題。
我有一個中繼器。 里面有很多文本框。 在最右邊的列中,有一個鏈接按鈕。 單擊此鏈接按鈕后,將顯示一個modalpopupextender,它將顯示所選行的詳細記錄。
我已經使其工作正常,但速度很慢,因為當您單擊鏈接按鈕時,它將刷新整個頁面。
我不想重新加載中繼器,因為這是非常慢的部分。
我嘗試添加一個updatePanel(位於updatePanel內的中繼器),但是由於中繼器位於updatePanel內部,因此它仍將重新加載中繼器。
所以問題是,當單擊鏈接按鈕時,我該怎么辦?它不會重新加載中繼器...
任何想法將不勝感激。 順便說一下,我正在用.net 2.0,c#開發它
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>
在后面的代碼中注冊,此代碼是您在綁定之后添加的代碼,例如在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);
}
}
為什么不去做類似主子關系的事情呢? 您是否需要與顯示給用戶的子數據進一步交互? 如果是這樣,請指定性質。
假設您要顯示的子數據是簡單的數據,旨在將相關數據簡單地傳達給用戶,則可以使用jQuery和中繼器的組合來實現您的目標。
您將顯示第一個轉發器主數據。 在中繼器的每一行上,您在此處顯示一個顯示按鈕。 您在這里不需要鏈接按鈕; 只需一個簡單的錨即可。 您必須在其中編寫js才能切換正確的子數據。
所有子數據也應重復。 但一開始沒有顯示給用戶。 僅應顯示該特定子項-通過在主中繼器上單擊的顯示錨點適當觸發。 其余都是js / css。
下面是一個演示該概念的示例項目的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.