2011-05-06 32 views
1

我有一個網頁控制,我把一個updatePanel。該控件在主頁面中註冊。在這個Master的contentPage中,我有一個按鈕,我想要在Web控制中更新我的更新面板。這似乎是如此簡單......對!但它不會工作。如何在主頁面控件中更新updatePanel?

這裏是我的murkup &代碼:

母版頁:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="SiteMaster1.master.cs" Inherits="KR.Obsession.UI.Web.Masters.SiteMaster1" %> 
<%@ Register Src="~/UserControls/ShoppingCart.ascx" TagName="Cart" TagPrefix="uc" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 

</head> 
<body> 
    <form id="form1" runat="server"> 
     <ajaxToolkit:ToolkitScriptManager EnablePageMethods="true" runat="server" ID="AjaxScrpMngr1" 
    EnablePartialRendering="true" EnableScriptGlobalization="true" EnableScriptLocalization="true" > 

    </ajaxToolkit:ToolkitScriptManager> 
       <asp:ContentPlaceHolder ID="content" runat="server"> 

       </asp:ContentPlaceHolder> 
    </form> 
</body> 
</html> 

Web控件:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ShoppingCart.ascx.cs" Inherits="KR.Obsession.UI.Web.UserControls.ShoppingCart" %> 

<asp:UpdatePanel runat="server" ID="PanUpdateCart" UpdateMode="Conditional" > 
    <ContentTemplate> 
     <div class="UserControlCart"> 
      <div class="CartImage"> 
       <asp:HyperLink runat="server" ID="LnkCart" ImageUrl="~/Images/Cart.gif" Width="29" Height="27" /> 
      </div> 
      <div class="CartContent"> 
       <asp:Literal runat="server" ID="LtrCount" Text="У вас: <b>{0}</b> вещиц" /> 
       <br /> 
       <asp:Literal runat="server" ID="LtrTotal" Text="на сумму <b>{0}</b>" /> 
      </div> 
     </div> 
    </ContentTemplate> 
</asp:UpdatePanel> 

和頁:

%@ Page Title="" Language="C#" MasterPageFile="~/Masters/SiteMaster1.Master" AutoEventWireup="true" CodeBehind="ShowItem.aspx.cs" Inherits="KR.Obsession.UI.Web.ShowItem" %> 
<%@ MasterType VirtualPath="~/Masters/SiteMaster1.Master" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 

     <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 

        <asp:LinkButton runat="server" ID="LnkBtnAddToCart" CssClass="AddToCart" Text="ДОБАВИТЬ В КОРЗИНКУ" Enabled="false" OnClick="btnAddToCart_Click" /> 

      </ContentTemplate> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="LnkBtnAddToCart" EventName="Clicked" /> 
      </Triggers> 
     </asp:UpdatePanel> 

</asp:Content> 

在C我控制的背後頌我:

using System; 
using KR.Obsession.UI.Core; 

namespace KR.Obsession.UI.Web.UserControls 
{ 
    public partial class ShoppingCart : SharedBaseControl 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      PanUpdateCart_Load(); 
     } 

     public void PanUpdateCart_Load() 
     { 

       if (this.Profile.ShoppingCart.Items.Count > 0) 
       { 
        LtrCount.Text = string.Format(LtrCount.Text, this.Profile.ShoppingCart.Items.Count.ToString()); 
        LtrTotal.Text = string.Format(LtrTotal.Text, UiUtilities.FormatPrice(this.Profile.ShoppingCart.Total)); 

       } 
       else 
       { 
        LtrCount.Text = string.Format(LtrCount.Text, 0); 
        LtrTotal.Text = string.Format(LtrTotal.Text, UiUtilities.FormatPrice(0)); 
       } 

     } 

    } 
} 

我想在異步方式頁面的按鈕,點擊網頁控制運行PanUpdateCart_Load()方法。那可能嗎?

+1

要正確插入代碼,請粘貼它,然後選擇它並使用'{}'按鈕 – DavRob60 2011-05-06 13:43:18

回答

0
EventName="Clicked" /> 

我認爲必須是

EventName="Click" /> 

,但我不知道這是什麼原因造成的問題,但你可以檢查。

+0

Bala R!它沒有任何區別。 – Roman 2011-05-06 14:01:20

相關問題