5

Tôi có Cập nhật bảng trong trang Master:ASP.NET - bảng điều khiển Cập nhật trong trang Master, nút refresh trong nội dung trang

<asp:ScriptManager id="CartScript" runat="server"></asp:ScriptManager>  
<asp:UpdatePanel id="CartBox" runat="server" updateMode="Conditional"> 
    <ContentTemplate> 
    Košík [ <asp:HyperLink NavigateUrl="~/Account/Login.aspx" ID="ShoppingCart" runat="server" text="" /> ] <asp:LinkButton ID="DeleteCart" runat="server" Text="Vymazat košík" OnClick="ThrowCart_Click" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

và Mua Button trong nội dung trang:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">  
    <asp:Button ID="BuyButton" Runat="server" Text="Přidat do košíku" onclick="Buy_Click" /> 
</asp:Content> 

Vì vậy, tôi cần thêm vào bảng Cập nhật AsyncPostBackTrigger cho nút này.

Đầu i tryed thêm nó từ trang nội dung:

protected void Page_Load(object sender, EventArgs e) 
{ 
    AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();   
    trigger.ControlID = "BuyButton"; 
    UpdatePanel panel = (UpdatePanel)Master.FindControl("CartBox"); 
    if (panel != null) 
    { 
     panel.Triggers.Add(trigger); 
    } 
    ScriptManager script = (ScriptManager)Master.FindControl("CartScript"); 
    script.RegisterAsyncPostBackControl(BuyButton); 
} 

Nhưng nó đã lỗi: Một kiểm soát với ID 'BuyButton' không thể được tìm thấy cho cò trong UpdatePanel 'CartBox'.

Vì vậy, tôi đã cố gắng nó thêm vào từ trang Master:

protected void Page_Load(object sender, EventArgs e) 
{     
    if ((Button)MainContent.FindControl("BuyButton")!=null) 
    { 
     AsyncPostBackTrigger trigger = new AsyncPostBackTrigger(); 
     trigger.ControlID = ((Button)MainContent.FindControl("BuyButton")).ID; 
     CartBox.Triggers.Add(trigger); 
     CartScript.RegisterAsyncPostBackControl((Button)MainContent.FindControl("BuyButton")); 
    } 
} 

Nhưng tôi đã nhận cùng một lỗi. :-(

Vì vậy, u có thể cho tôi biết làm thế nào tôi có thể thêm vào Cập nhật Bảng điều chỉnh của tôi mà nút từ nội dung trang có thể làm mới nó?

Trả lời

1

Sửa

Đặt BuyButton nút bên trong riêng của mình UpdatePanel như trên trang nội dung của bạn, hãy thêm AsyncPostBackTrigger vào đó UpdatePanel mới và sau đó nó sẽ có thể tìm thấy nút và sẽ sử dụng trang ScriptManager từ trang chính

+3

Bảng cập nhật của anh ấy ở chế độ MasterPage và nút đó không. –

+0

@StackOverflowException: Ah, bỏ qua chi tiết đó. Cảm ơn :) – mellamokb

Các vấn đề liên quan