2012-07-23 220 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