J'ai un formulaire pour envoyer un courriel dans asp.net mvc4 lorsque l'utilisateur clique sur le bouton Soumettre, après l'email envoyé avec succès toute la zone de texte dans mon formulaire devenir videComment puis-je changer la valeur de la zone de texte dans le contrôleur dans ASP.NET MVC 4
mon code de la vue:
@using (Html.BeginForm()) {
<table cellpadding="5px;">
<tr>
<td>@Html.Label("Name")</td>
<td>@Html.TextBoxFor(m => Model.Name)</td>
<td class="error">@Html.ValidationMessageFor(m => Model.Name)</td>
</tr>
<tr>
<td>@Html.Label("From")</td>
<td>@Html.TextBoxFor(m => Model.From)</td>
<td class="error">@Html.ValidationMessageFor(m => Model.From)</td>
</tr>
<tr>
<td>@Html.Label("Email")</td>
<td>@Html.DropDownList("Email",new SelectList(Emaillist,"Value","Text"))</td>
<td class="error">@Html.ValidationMessageFor(m => Model.Email)</td>
</tr>
<tr>
<td>@Html.Label("Subject")</td>
<td>@Html.TextBoxFor(m => m.Subject)</td>
<td class="error">@Html.ValidationMessageFor(m => Model.Subject)</td>
</tr>
<tr>
<td>@Html.Label("Text")</td>
<td>@Html.TextAreaFor(m => m.Body)</td>
<td class="error">@Html.ValidationMessageFor(m => Model.Body)</td>
</tr>
<tr>
<td> <input id="Submit1" type="submit" value="Send" /></td>
<td></td>
</tr>
</table>
<br/>
<br/>
<span style="color: red; font-size: 14px;">@ViewBag.Message</span>
}
mon code contrôleur:
[HttpPost]
public ActionResult Contact(Contact contact)
{
if (ModelState.IsValid)
{
try
{
MailAddress fromAddress = new MailAddress("MyEmail Address");
MailAddress toAddress = new MailAddress(contact.Email);
const string fromPassword = "My Password Address";
string subject = contact.Subject;
string body = "From: " + ViewBag.Name + "\nEmail: " + contact.From + "\n\n\n Body: " + contact.Body;
SmtpClient smtp = new SmtpClient();
smtp.Host = "Host";
smtp.Port = port;
smtp.EnableSsl = false;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential(fromAddress.Address, fromPassword);
MailMessage message = new MailMessage(fromAddress, toAddress);
message.Subject = subject;
message.Body = body;
smtp.Send(message);
ViewBag.Message = "Your message send successfully ";
return View("Contact");
}
catch (Exception ex)
{
ViewBag.Message = "Your message doesn't send, please try again" + "\n" + ex.Message;
}
}
return View();
}
Comment puis-je modifier la valeur du champ de saisie dans le contrôleur après l'envoi e-mail?
quel code devrais-je ajouter après "smtp.Send (message)" pour que ma zone de texte apparaisse vide?
Avez-vous essayé quelque chose du côté client, comme jQuery ?? – kandroid