我在一個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傳來的信息。