2011-12-13 75 views
1

實際上我正在開發使用asp.net和c#的模板。我有一個在我的用戶控制頁面中包含2個字段集的面板。我想從main.aspx頁面後面的代碼中訪問這兩個字段集,這意味着當用戶點擊main.aspx頁面的link1時,面板將被刷新並顯示fielset1,並且當用戶點擊鏈接2時,面板將被刷新,面板顯示fieldset2。對於我使用更新面板的部分刷新頁面。請你指導我如何解決這個問題。 感謝您的考慮。如何從main.aspx頁面的代碼隱藏中訪問usercontrol.ascx中的字段集?

+0

在後面的usercontrol代碼中爲這兩個字段創建屬性。在你的main.aspx頁面上,你可以通過使用userControl.propertyName語法 –

+0

來簡單地訪問屬性,謝謝你的回覆,但是你能否告訴我如何在ascx.cs頁面和aspx.cs頁面中爲fieldset構建屬性將fieldset的可見性更改爲false或true。因爲我可以爲面板做到這一點,但我無法做到面板內的現場設置。萬分感激。 –

+0

我可以肯定地嘗試,請張貼您的用戶控制標記,以便我可以或多或少地看到哪些類型的字段存在,以便能夠提供更好的答案 –

回答

0

謝謝Denys跟進。我已經解決了這個問題。
我已經把一個HiddenField變量在我的用戶頁面:

<asp:HiddenField ID="hid_choosingField" Value="" runat="server" /> 

然後我訪問過,並從aspx.cs頁面改成了:

Control hidField = WebUserControl31.FindControl("hid_choosingField"); 
    HiddenField ucHidField = (HiddenField)hidField; 
    ucHidField.Value = "1"; 

的話,我都放了,如果條件在ASCX頁面來檢查什麼是HiddenField的值,並基於值我顯示相關的fieldset:

<% if (hid_choosingField.Value == "1") 
    { 
%> 
    <fieldset id="uc3Fieldset1" style=" height:350px;"> 
    <legend>New Module Details</legend> 

     <asp:Label ID="Label2" runat="server" ForeColor="blue" Text="This is User Control 3 Panel 1 Fieldset 1" /> 
    </fieldset> 

    <%} 
    else if (hid_choosingField.Value == "2") 
    { %> 

    <fieldset style=" height:350px;"> 
    <legend>New Module Details</legend> 

     <asp:Label ID="Label1" runat="server" ForeColor="blue" Text="This is User Control 3 Panel 1 Fieldset 2" /> 
</fieldset> 

    <% } %> 

我希望這會有所幫助。 謝謝

相關問題