我在一个aspx页面上有两个用户控件。 UC1有一个网格,其中包含用户点击的链接按钮列。根据点击单元的值,我需要在UC2中显示一些数据。在aspx页面中将参数从一个用户控件传递给另一个用户控件
- 如何将数据从UC1传递到UC2?
- 如何从UC1调用UC2的功能?
请指教。由于
AJ
我在一个aspx页面上有两个用户控件。 UC1有一个网格,其中包含用户点击的链接按钮列。根据点击单元的值,我需要在UC2中显示一些数据。在aspx页面中将参数从一个用户控件传递给另一个用户控件
请指教。由于
AJ
这些解决方案依赖于后置处理,因此如果您在使用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();
}
如果你遵循良好的面向对象原则则UC1和UC2不应该知道对方的存在。可以的是,包含页面了解其子控件的功能,并协助将消息/事件/数据从一个路由到另一个路由。
这意味着UC1可以引发事件,并且可以在事件的事件参数中传递适当的数据(如行标识符或实际绑定的数据项)。然后包含页面可以在UC2上调用一个函数,传递从UC1传来的信息。