のボタンを更新します。ASP.NETマスターページでの更新パネル、私はマスターページの更新パネルを持っているコンテンツページ
<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>
とコンテンツページでの購入ボタン:だから
<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>
私が必要UpdateパネルにこのボタンのAsyncPostBackTriggerに追加します。
まず私は、コンテンツページからそれを追加しようと試み:
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);
}
しかし、それはエラーをした:ID「BuyButton」がコントロールはUpdatePanelの「CartBox」内のトリガーが見つかりませんでした。
だから私はそれがマスターページから追加してみました:
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"));
}
}
しかし、私は同じエラーを得ました。 :-(
だから、uは、私がコンテンツページからボタンがそれをリフレッシュすることができ、私の更新パネルに追加する方法を教えてできますか?
更新パネルはマスターページにあり、ボタンはありません。 –
@StackOverflowException:ああ、その詳細を逃した。ありがとう:) – mellamokb