如何从asp.net中的UserControl调用父方法?

时间:2014-03-04 06:56:41

标签: c# asp.net user-controls

我有ASP.NET Page,其中包含购物车 UserControl。现在,ClickCheckoutButton上的用户UserControl我希望将他重定向到一个页面,当CustomerID会话为null时,将输入客户信息。 enter image description here

在UserControl中:

protected void lnkCheckOut_Click1(object sender, EventArgs e)
    {

        if (Session["SalesCustomerID"] != null)
        {

            //CompleteOrder();

        }
        else
        {
            //Call here method of Parent Page 
        }
    }

在Product.aspx.cs

Product.aspx页面中UserControl存在。此页面还包含MasterPage

 public void CallCustomerForm()
    {
      //show/redirect to customer entry form
    }

那么,如何在ParentControl

中点击UserControl按钮来调用asp.net using c#?中的方法

1 个答案:

答案 0 :(得分:1)

我认为你应该停下来思考你的设计。你的控件不需要知道包含它们的页面的任何信息 - 你需要从另一个控件中找到页面上的控件这一事实告诉我你应该重新考虑这个问题。

我可以告诉你的最好的事情(我对你的架构知之甚少)是你应该传递对你希望在用户控件中找到的控件的引用。这样你的控制就不必知道自己以外的事情了。

之前已经回答过类似问题。

此处:http://www.codeproject.com/Articles/28503/Transfering-control-to-Page-ASPX-from-Control-ASCX

此处:How to call a method from user control to aspx page?

最后,在这里:ASP.NET Calling a Method in (ASPX) From a UserControl (ASCX)?