2016-09-26 154 views
0

我有一個包含iframe,一個ASP標籤和一個按鈕的父頁面。 當用戶點擊父按鈕時,它會在iframe中顯示一些表結果。 現在我想根據iframe的結果顯示具有不同文本和顏色的父標籤。 所以我嘗試在代碼背後(C#)的iframe從父級檢索標籤,併爲其分配一個CssClass。但是,無論我做什麼,當試圖從父項中找到控件時總會返回空引用。 有人可以幫忙嗎?C#從父頁面訪問asp控件

父頁面代碼:

<div class="search-row"> 
    <div class="search"> 
     <button id="btnSearch" type="submit" class="button button-block">Search</button> 
    </div> 

    <div class="search" style="padding-top: 20px;"> 
     <asp:Label ID="wrapperResponse" CssClass="resp" runat="server">TEST</asp:Label> 
    </div> 
</div> 


     <div id="iframeDiv"> 
      <iframe name="my_frame" width="100%" height="350px" src="Results.aspx" scrolling="no" frameborder="0"></iframe> 
     </div>` 

的Results.aspx將顯示一些HTML動態生成的表。 現在讓我們說如果結果表有一行,我想標籤WrapperReponse在綠色,並說「1行」,但如果2行,那麼我希望它在紅色,並說「2行」

在我的結果.aspx.cs我試過

String test= String.Format("{0}", Request.Form["wrapperResponse"]); 
    Label statusResponse = (Label)this.FindControl("wrapperResponse"); 
    Label statusResponse2 = (Label)Parent.FindControl("wrapperResponse"); 

任何想法,歡迎! 謝謝

回答

0

好吧,這裏只需提到幾點。食物的思想。

  1. 爲了訪問asp標籤控件,您需要在父頁面而不是結果頁面上進行。
  2. 我建議你重新考慮頁面的設計。你真的必須在這裏使用iframe嗎?爲什麼不直接將按鈕和標籤控件放置在results.page上?或者可以將results.aspx作爲ASCX用戶控件,以便將其嵌入到父頁面中。

希望它有幫助

相關問題