2010-12-22 24 views
45

estoy usando un control de área de texto para permitir al usuario ingresar texto y luego colocar ese texto en el cuerpo de un correo electrónico. en el código subyacente, ¿cuál es la sintaxis para hacer referencia a la entrada de los usuarios? pensé que podría usar "message.Body = test123.Text;" pero esto no es reconocido.textarea control, asp.net C#

código en la página aspx ---

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

código detrás ---

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); 
} 

Respuesta

127

No está utilizando un control .NET para el área de texto. O bien añadir runat="server" al control TextArea HTML o utilizar un control .NET:

Prueba esto:

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

A continuación, hacer referencia a ella en su código subyacente:

message.Body = TextArea1.Text; 
+4

tentonipete tiene º La mejor respuesta para mí, pero agregaría el atributo Columnas y Filas. Por ejemplo, Columnas = "40" Filas = "5". –

0

Usted debe hacer referencia a la ID de área de texto e incluir el atributo runat="server" a la textarea

message.Body = TextArea1.Text; 

¿Qué es test123?


+3

esto todavía no funcionaría como runat "servidor" = no está en el control hTML – tentonipete

14

Es necesario utilizar runat="server" como esto :

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

Puede usar el atributo runat = server con un ny elemento HTML estándar, y luego usarlo desde código subyacente.

0

propiedad perdida runat = "servidor" o use el código Request.Params [ "TextArea1"]

7

En primer lugar asegúrese de que tiene el atributo runat="server" en su etiqueta textarea como esto

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

A continuación, puede acceder al contenido a través de:

string body = TextArea1.value;