将参数从一个用户控件传递到aspx页面中的另一个用户控件

时间:2010-06-03 21:33:31

标签: asp.net user-controls

我在一个aspx页面上有两个用户控件。 UC1有一个网格,其中包含用户点击的链接按钮列。根据点击单元格的值,我需要向UC2显示一些数据。

  1. 如何将数据从UC1传递到UC2?
  2. 如何从UC1调用UC2的功能?
  3. 请指教。感谢

    AJ

2 个答案:

答案 0 :(得分:1)

如果遵循良好的OO原则,那么UC1和UC2就不应该彼此了解。可以让包含页面了解其子控件的功能,并协助将消息/事件/数据从一个控件传送到另一个。

这意味着UC1可以引发事件,并且可以在事件的事件参数中传递适当的数据(如行标识符或实际绑定数据项)。然后,包含页面可以在UC2上调用一个函数,传入从UC1传送的信息。

答案 1 :(得分:0)

  1. 您可以在UC1的回发中为UC2设置值。
  2. 您可以在UC1的回发中调用UC2上的功能。
  3. 这些解决方案依赖于回发,因此如果您正在进行AJAX,它会更复杂。但是,回发方法应该对你有用。

    .aspx页面

    <uc:MyControlOne runat="server" OnClick="DoPostBack" ID="UC1" />
    <uc:MyControlTwo runat="server" ID="UC2" />
    

    .aspx.cs页面

    public void DoPostBack(object sender, EventArgs e)
    {
      UC2.Value = UC1.Value;
      UC2.UpdateSomething();
    }