【问题标题】: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" 我不想让它在服务器端。有什么帮助吗?

【问题讨论】:

    标签: c# asp.net textarea


    【解决方案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[] 为例)
    猜你喜欢
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2012-06-20
    • 2019-01-30
    • 2017-10-04
    • 1970-01-01
    • 2014-04-10
    • 2018-03-07
    相关资源
    最近更新 更多