如何在代码隐藏中引用 HTML <textarea> 控件的输入?

Posted

技术标签:

【中文标题】如何在代码隐藏中引用 HTML <textarea> 控件的输入?【英文标题】:How do I reference the input of an HTML <textarea> control in codebehind? 【发布时间】:2011-05-29 07:51:08 【问题描述】:

我正在使用 textarea 控件来允许用户输入文本,然后将该文本放入电子邮件正文中。在后面的代码中,引用用户输入的语法是什么?我以为我可以只使用message.Body = test123.Text;,但这无法识别。

html

<textarea id="TextArea1" cols="20" rows="2" ></textarea>

代码隐藏:

foreach (string recipient in recipients)
         
  var message = new System.Net.Mail.MailMessage("sender@example.com", recipient);
  message.Subject = "Hello World!";         
  message.Body = test123.Text;                
  client.Send(message); 
 

【问题讨论】:

【参考方案1】:

缺少属性runat="server" 或在代码中使用Request.Params["TextArea1"]

【讨论】:

【参考方案2】:

首先确保您的textarea 标记中有runat="server" 属性,如下所示

<textarea id="TextArea1" cols="20" rows="2" runat="server"></textarea>

然后您可以通过以下方式访问内容:

string body = TextArea1.value;

【讨论】:

【参考方案3】:

您的文本区域没有使用 .NET 控件。将 runat="server" 添加到 HTML TextArea 控件或使用 .NET 控件:

试试这个:

<asp:TextBox id="TextArea1" TextMode="multiline" Columns="50" Rows="5" runat="server" />

然后在你的代码隐藏中引用它:

message.Body = TextArea1.Text;

【讨论】:

tentonipete 对我来说是最好的答案,但我会添加 Columns 和 Rows 属性。例如,Columns="40" Rows="5"。【参考方案4】:

您应该引用 textarea ID 并将runat="server" 属性包含到textarea

message.Body = TextArea1.Text;  

test123 是什么?


【讨论】:

这仍然不起作用,因为 runat="server" 不在 html 控件上【参考方案5】:

你需要像这样使用runat="server"

<textarea id="TextArea1" cols="20" rows="2" runat="server"></textarea>

您可以将 runat=server 属性与任何标准 HTML 元素一起使用,然后在代码隐藏中使用它。

【讨论】:

以上是关于如何在代码隐藏中引用 HTML <textarea> 控件的输入?的主要内容,如果未能解决你的问题,请参考以下文章

隐藏 HTTP 引用的 301 重定向

求教:html 隐藏和显示多行中文或英文

如何在 php/html 中隐藏整个空列

Android中include标签的使用(打开引用布局,隐藏当前布局)

WPF:在代码隐藏中引用应用程序范围的资源

如何在 HTML 中引用(不是块引用)?