2012-02-04 34 views
0

我正在嘗試閱讀.Net控件的文本。我在jQuery模式彈出窗口中顯示控件。然後我用.Net按鈕提交表單。當我嘗試讀取控制服務器端時,其文本屬性中沒有任何內容。我如何閱讀在jQuery模式對話框中填充的文本框控件?我一定會嘗試替代我在做什麼......使用.Net和jQuery。如何閱讀使用jQuery填充的.Net文本框

頁:

<img id="divTestQ" src="assets/images/edit_icon.gif" alt="Add Comments" /> 
<div style="display:none;"> 
    <div id="divTest" title="Program Discipline" style="text-align: left;"> 
    <asp:TextBox id="test" TextMode="MultiLine" Rows="30" style="width: 100%;"  
     runat="server" /> 
    </div> 
</div> 
<asp:button id="btnSubmit" text="label" runat="server" /> 
jQuery的

$("#divTest").dialog({ 
    autoOpen: false, 
    show: "blind", 
    width: 500, 
    height: 480, 
    modal: true 
    }); 

$("#divTestQ").click(function() { 
    $("#divTest").dialog("open"); 
    return false; 
    }); 

代碼背後:

String textBox = test.Text;  //Nothing 

TextBox textBox = (TextBox)Page.FindControl("ctl00_ContentPlaceHolder1_test"); //Also Nothing 
+0

文本屬性沒有任何內容,或者根本找不到控件?請發佈相關代碼 – 2012-02-04 20:20:45

+0

'HTML' +'JS' +'JQuery' +'.net'代碼請! – gdoron 2012-02-04 20:20:48

+0

就jQuery而言,沒有.Net按鈕或.Net控件之類的東西。只有HTML。您的服務器端代碼如何模擬這些與jQuery代碼無關。 – lonesomeday 2012-02-04 20:22:24

回答

1

問題在於文本框現在是形式之外。解決這個問題的方法是在打開它時將模式附加到表單上。

$(document).ready(function() { 
     $("#divTest").dialog({ 
      autoOpen: false, 
      show: "blind", 
      width: 500, 
      height: 480, 
      modal: true, 
      open: function (type, data) { 
       $(this).parent().appendTo("form"); 
     } 
    }); 
+0

我仍然無法做一個findcontrol並獲得對該文本框的引用。使用findcontrol時是否缺少一個步驟?我有我的文本框包裝在一個div和findcontrol不會帶回到div的引用。 – 2012-02-05 17:00:21

+0

刪除包裝div(style =「display:none」)。這是不需要的,因爲查詢對話框將隱藏對話框直到你打開它。當文本框現在附加到表單時,您不必執行查找控制。你應該可以通過test.Text獲得按鈕上的文字。 – DJH 2012-02-05 17:45:57