在代码隐藏中获取文本区域

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[] 为例)

以上是关于在代码隐藏中获取文本区域的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 不会在 asp.net 中隐藏文本区域

虚拟键盘隐藏字段/文本区域/内容可编辑(隐藏在键盘下方)

如果输入为空,如何隐藏文本区域

Sencha Touch android 键盘隐藏文本区域

单击时创建文本区域和多个元素以回复评论

Javafx 文本区域禁用滚动条