在代码隐藏中获取文本区域
Posted
技术标签:
【中文标题】在代码隐藏中获取文本区域【英文标题】:Get textarea in codebehind 【发布时间】:2012-07-21 11:59:51 【问题描述】:我正在尝试使用以下代码从后面的代码中获取 textarea 值。
htmlTextArea bodytextarea = new HtmlTextArea();
bodytextarea = (HtmlTextArea)(this.FindControl("codearea"));
string txtbod = bodytextarea.Value;
当我调试它时,我得到一个空引用异常,说 bodytextarea 为空。我不得不提到我的 textarea 不是 runat="server" 我不想让它在服务器端。有什么帮助吗?
【问题讨论】:
【参考方案1】:您应该将runat="server"
添加到您的<TextArea id="myTextArea" runat="server" />
这样你就可以直接使用textarea的ID在后面的代码中获取值了
如果你不想使用服务器端,那么你必须使用 Jquery 来获取值并在后面的代码中创建一个 [webmethod]
方法,以便 Jquery 可以调用该方法来传递值
或者干脆string data = request["codearea"];
【讨论】:
我的内容页面中有一个带有runat="server"
的TextArea,但我想从我的母版页访问它。我的内容页面中有一些标签,我在母版页中这样称呼它们:lblUser = (System.Web.UI.WebControls.Label)ContentMain.FindControl("lblUser");
。我如何对 TextArea 做同样的事情?【参考方案2】:
如果不是 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
【讨论】:
我用参考更新了我的答案。你应该在那里检查最后一个答案。 (以 HttpContext.Current.Request[] 为例)以上是关于在代码隐藏中获取文本区域的主要内容,如果未能解决你的问题,请参考以下文章