使用C#将文本从asp.net中的代码后面加载到文本区域

本文关键字:文本 代码 加载 区域 asp net 使用 | 更新日期: 2023-09-27 18:26:19

我有一个asp.net页面,我想将文本加载到textArea控件中,该控件位于aspx页面中,从代码隐藏(C#)中的一个变量:

代码背后:

System.Web.UI.HtmlControls.HtmlTextArea Output1 = 
    (System.Web.UI.HtmlControls.HtmlTextArea)(FindControl("textarea1"));       
Output1.Value = Output.ToString();

ASP:

<div style ="width: 78%; float: right; height: 85px; display: block;" 
    class="message_text_box_left">
    <textarea id="textarea1" name="textarea1" cols="30" rows="3" 
        class="message_text_box" title="Share your Idias here..." 
        tabindex="1" onkeyup="addrow_fun();"></textarea>                        
</div>  

但它给出了类似的错误

对象引用未设置为对象的实例。

使用C#将文本从asp.net中的代码后面加载到文本区域

您应该添加

runat="server"

属性添加到文本区域。

或者,最好使用TextBox ASP.NET控件,并将TextMode属性设置为TextBoxMode.MultiLine。示例如下:

代码背后:

Output1.Text = Output.ToString();

ASP:

<div style ="width: 78%; float: right; height: 85px; display: block;" 
    class="message_text_box_left">
    <asp:TextBox ID="Output1" Rows="3" 
        CssClass="message_text_box" ToolTip="Share your ideas here..." 
        TextMode="MultiLine" />                        
</div>  

*.aspx文件中添加runat="server"。使用Innertext属性设置文本值。例如

htmlTexarea.InnerHtml = "sample"
  1. runat="server"添加到您的控制中
  2. 检查.designer.cs或codebehind.cs文件中的textarea/textbox声明并修复它
  3. 不使用FindControl函数(它不是递归的),通过ID获取控制。textarea1.Value = xxx;

尝试转换为HTML通用控件并设置其值或将其更改为使用asp textbox textmode=多行

如果添加runat="server"属性,则应该能够直接使用textarea1.innerText。

添加runat="server"并从后面的代码中使用InnerText获取值