2010-06-03 70 views

回答

0
  1. 您可以在UC1回發上UC2設定值。
  2. 您可以在UC2的回傳中調用UC2的功能。

這些解決方案依賴於後置處理,因此如果您在使用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(); 
} 
1

如果你遵循良好的面向對象原則則UC1和UC2不應該知道對方的存在。可以的是,包含頁面瞭解其子控件的功能,並協助將消息/事件/數據從一個路由到另一個路由。

這意味着UC1可以引發事件,並且可以在事件的事件參數中傳遞適當的數據(如行標識符或實際綁定的數據項)。然後包含頁面可以在UC2上調用一個函數,傳遞從UC1傳來的信息。

相關問題