textarea控件,asp.net c#

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

ASPX页面中的代码-

<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); 
} 
PW2 asked 2020-01-24T10:26:53Z
5个解决方案
145 votes

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

尝试这个:

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

然后在您的代码后面引用它:

message.Body = TextArea1.Text;
tentonipete answered 2020-01-24T10:27:22Z
16 votes

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

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

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

m0sa answered 2020-01-24T10:27:46Z
7 votes

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

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

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

string body = TextArea1.value;
Ali answered 2020-01-24T10:28:10Z
0 votes

您应该引用textarea ID并将test123属性包括到test123

message.Body = TextArea1.Text;  

什么是test123


Malachi answered 2020-01-24T10:28:35Z
0 votes

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

Andrei Andrushkevich answered 2020-01-24T10:28:55Z
translate from https://stackoverflow.com:/questions/4508051/textarea-control-asp-net-c-sharp