PDA

View Full Version : عدم post اطلاعات از صفحه تماس با ما



pcb20parse
جمعه 29 اردیبهشت 1396, 06:52 صبح
سلام دوستان من تازه وارد MVC شدم. یه صفحه تماس با ما طراحی کردم اما اطلاعاتش رو پست نمیکنه.نمیدونم چرا؟


<form action="/Home/test" method="post">


<div class="form-group">
<label for="Name">Name</label>
<input type="text" class="form-control" id="Name">

</div>
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control" id="email">
</div>

<div class="form-group">
<label for="Message">Message:</label>
<textarea class="form-control" rows="5" id="Message"></textarea>
</div>


<div>
<button type="submit"
class="btn btn-success">
Send
</button>
</div>

</form>



اینم کد کنترلر:
[HttpGet]
public ActionResult test()
{



return View();
}


[HttpPost]
public ActionResult test(string Email, string Name, string Message)
{
if (Message != string.Empty && Message != null)
{
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient();
SmtpServer.Credentials = new System.Net.NetworkCredential(("info@defender20.ir"), ("ghffhgfh"));
SmtpServer.Port = 25;
SmtpServer.Host = "mail.defender20.ir";
mail.From = new MailAddress((Email));
mail.To.Add("info@defender20.ir");
mail.Subject = ("ارسال پیام");

System.Net.Mail.AlternateView alternateViewtxt = System.Net.Mail.AlternateView.CreateAlternateViewF romString(Email, null, "text/html");
mail.AlternateViews.Add(alternateViewtxt);
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure | DeliveryNotificationOptions.OnSuccess;

SmtpServer.Send(mail);
ViewBag.Message = "پیام شما با موفقیت ارسال خواهد شد به زودی پاسخ گوی شما خواهیم بود";
}
catch (Exception ex)
{
ModelState.Clear();
ViewBag.Message = "خطا: " + ex.Message.ToString();
}

}


return View();
}

ali_md110
جمعه 29 اردیبهشت 1396, 07:39 صبح
نام فیلدها رو در کنترلها مشخص کنید name="Name"



<input type="text" class="form-control" name="Name" id="Name">

در ضمن در mvc بهتر هست از Html.BeginForm یا همون strongly typed استفاده کنید تا از رفلکشن بهره گیری کنید و از غلطهای احتمالی کدنویسی جلوگیری بشه و کد تمیز تری بنویسید