我有一個updatePanel中的搜索表單,它檢索同一個UpdatePanel中的網格中的用戶列表。每個用戶的名稱都是一個commandLink。我想讓commandLinks成爲PostBackTriggers。 但是當我這樣做的時候,我在pageLoad時候得到一個錯誤,那個controlId不存在並且它是真的,因爲用戶的網格在加載時沒有渲染,而是通過ajax調用。 關於如何使通過ajax調用檢索的網格中的多個命令按鈕作爲回發觸發器的任何想法?PostBackTrigger在更新面板中的多個LinkButtons
1
A
回答
1
將項目添加到網格時,在ItemDataBound
事件處理程序中,您應該爲每個特定控件註冊回發(HTML聲明中的靜態標識符基本上是佔位符 - 並非網格中重複的所有內容都可以實際具有相同的ID)。你這樣做使用ScriptManager.RegisterAsyncPostBackControl
方法:
的
RegisterAsyncPostBackControl
方法使您能夠註冊的Web服務器 管制,觸發器,讓他們執行異步回發 而不是同步回發的。當UpdatePanel
控制的ChildrenAsTriggers
屬性被設置爲真 (這是默認值),UpdatePanel
控制內回發控件自動註冊爲異步回發 控件。
如上所述,使用ChildrenAsTriggers
也是一種可能性,但對於更嚴格的管理,這通常設置爲false。
0
我找到了解決方案。這裏是ASP
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" Text="Search" />
<asp:GridView ID="gvSearchResult" runat="server" OnRowCommand="gvSearchResult_RowCommand"
OnRowDataBound="gvSearchResult_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:LinkButton ID="lnkbtnDetail" runat="server" CommandArgument='<%# Bind("CNIC") %>' CommandName="Detail">
<asp:Label ID="lblName" Text='<%# Bind("Employee_Name") %>' runat="server</asp:Label>
</asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" VerticalAlign="Middle"Height="25px"Width="30%" />
</asp:TemplateField>
</Columns>
</asp:GridView>
Ihad代碼放置OnRowDataBound =「gvSearchResult_RowDataBound」關於GridView和該功能看起來像下面。所以我必須在GridView的RowDataBound事件中將Scriptmanager中的迭代控件註冊爲PostBackControl。
protected void gvSearchResult_RowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
if ((e.Row.RowType == DataControlRowType.DataRow))
{
LinkButton lnkbtnDetail = (LinkButton)e.Row.FindControl("lnkbtnDetail");
ScriptManager.GetCurrent(this).RegisterPostBackControl(lnkbtnDetail);
}
}
catch (Exception ex)
{
}
}
相關問題
- 1. 多個控件到PostBackTrigger的控件ID屬性一個更新面板內
- 2. LinkButton的點擊不更新面板
- 3. 更新面板PostBackTrigger,更新進度不顯示
- 4. 從GridView中刪除「選擇」LinkButtons
- 5. 無法更改CodeBehind中的LinkButtons的屬性
- 6. 一個更新面板與多個更新面板
- 7. asp.net多個更新面板
- 8. 多個更新面板
- 9. 多個更新面板
- 10. 同時更新多個更新面板
- 11. 使用GridView LinkButtons製作If語句
- 12. 使用動態ID創建LinkButtons
- 13. 更新面板中的更新面板
- 14. 擴展DataList以接受來自LinkButtons的新InsertCommand
- 15. 在IE10中的LinkButtons不執行回發
- 16. 多個更新面板的問題
- 17. 使用一個更新面板的多個更新進度
- 18. 如何使gridView命令字段按鈕進入ajax更新面板PostBackTrigger
- 19. Asp.Net更新從另一個更新面板的面板
- 20. 在更新面板中不更新Gridview
- 21. 更新面板在Asp.net中?
- 22. 的UpdatePanel與PostBackTrigger並不外面更新標籤和回傳
- 23. 無法啓用面板在更新面板之外的更新面板在asp.net
- 24. LinkButtons無法在iPhone上使用Chrome瀏覽器
- 25. 多個更新面板和多個回發導致整個頁面刷新
- 26. 更新面板刷新整個頁面
- 27. 在asp.net中使用多個更新面板
- 28. 更新面板中的更新控件
- 29. 在面板上動態添加LinkButton
- 30. 更新進度欄無法與postbacktrigger
我的方案有點不同:)鏈接已經作爲asyncPostbacks工作,而我希望那些是正常的回發。我有更新面板中的搜索表單和網格。搜索按鈕帶來搜索數據並在更新面板中填充網格。現在網格有默認的鏈接,asyncPostBack調用意味着點擊鏈接發送ajax調用,而我希望鏈接是重定向的普通回發。我怎樣才能使鏈接到一個正常的回發? 當這些鏈接上發生asyncPostback重定向時,實際上給了我一個解析錯誤。 – 2013-04-22 12:17:10