2012-07-23 122 views
2

我想從後面的代碼中使用下面的代碼獲取textarea值。在代碼隱藏中獲取textarea

HtmlTextArea bodytextarea = new HtmlTextArea(); 
    bodytextarea = (HtmlTextArea)(this.FindControl("codearea")); 
    string txtbod = bodytextarea.Value; 

當我調試它時,我得到一個空引用異常,說bodytextarea爲空。我不得不提及我的textarea不是runat =「server」,我不想在服務器端進行。任何幫助?

回答

6

你應該只使用textarea的ID


如果你不想要使用服務器端再加入runat="server"<TextArea id="myTextArea" runat="server" />

這樣你就可以直接在代碼中得到背後的價值您必須使用Jquery獲取值並在您的代碼中創建[webmethod]方法,以便Jquery可以調用該方法通過值


或簡單地string data = request["codearea"];

+1

呀:)選項不夠;) – JohnnBlade 2012-07-23 09:10:24

+0

我有'RUNAT一個TextArea = 「服務器」'在我的內容頁,但我想從我的主頁面訪問它。我在我的內容頁面中有幾個標籤,我在主頁面中調用它:'lblUser =(System.Web.UI.WebControls.Label)ContentMain.FindControl(「lblUser」);'。我如何對TextArea做同樣的事情? – SearchForKnowledge 2014-09-04 14:52:36

1

如果它不是runat =「server」控件,那麼您必須從http上下文獲取值。 來自textarea的值將被視爲(最有可能的)POST或GET變量。

還看到:Get POST data in C#/ASP.NET

Getting a POST variable

官方MSDN:http://msdn.microsoft.com/en-us/library/system.web.httpcontext.aspx

+0

我該怎麼做? – user1292656 2012-07-23 09:03:12

+0

我用一個參考更新了我的答案。你應該檢查那裏的最後一個答案。 (例如使用HttpContext.Current.Request []) – Yoeri 2012-07-23 09:04:36