2010-12-22 73 views
45

我使用一個textarea控件來允許用戶輸入文本,然後將該文本放入電子郵件正文。在後面的代碼中,引用用戶輸入的語法是什麼。我以爲我可以使用「message.Body = test123.Text;」但這不被認可。textarea控件,asp.net c#

代碼在.aspx頁面---背後

​​

代碼---

foreach (string recipient in recipients) 
{   
    var message = new System.Net.Mail.MailMessage("[email protected]", recipient); 
    message.Subject = "Hello World!";   
    message.Body = test123.Text;     
    client.Send(message); 
} 

回答

127

您的文本區域沒有使用.NET控件。無論是添加runat="server"到HTML文本區域的控制或使用.NET控件:

試試這個:

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

然後引用它在你的代碼隱藏:

message.Body = TextArea1.Text; 
+4

tentonipete有個e對我來說是最好的答案,但我會添加「列和行」屬性。例如,列=「40」行=「5」。 – 2013-01-31 21:17:39

0

您應該引用textarea的ID和包括runat="server"屬性的textarea

message.Body = TextArea1.Text; 

什麼是test123


+3

這仍然是行不通的RUNAT =「服務器」是不是在HTML控件 – tentonipete 2010-12-22 10:26:03

14

您需要使用runat="server"這樣:

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

您可以將runat = server屬性與a ny標準的HTML元素,後來在代碼隱藏中使用它。

0

錯過財產RUNAT = 「服務器」,或在代碼中使用Request.Params [ 「TextArea1」]

7

首先確保你在你的textarea標籤runat="server"屬性這樣

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

然後你可以通過訪問內容:

string body = TextArea1.value;