2011-05-06 4 views
1

나는 웹 컨트롤을 가지고 있는데, 여기에 updatePanel을 둔다. 이 컨트롤은 마스터 페이지에 등록됩니다. 이 마스터의 contentPage에는 웹 컨트롤에서 업데이트 패널의 업데이트를 발생시키는 버튼이 있습니다. 그것은 매우 단순한 것처럼 보인다 ... 맞다!? 하지만 작동하지 않습니다.마스터 페이지 컨트롤에서 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> 

웹 제어 :

<%@ 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> 

에서 기음 내 컨트롤의 뒤에 송시는 내가 가진 :

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

답변

0
EventName="Clicked" /> 

EventName="Click" /> 

을이어야하지만이 문제를 일으키는 것입니다하지만 당신은 확인할 수 있는지 확실하지 않습니다.

+0

Bala R! 차이는 없습니다. – Roman

관련 문제