Asp.net mvc 4 MVC4联系人表单--我需要在两个收件人之间进行下拉选择,将只发送给一个收件人
我需要修改MVC4中的联系人表单,为用户提供两种不同的电子邮件收件人选择。我最初可以在信息和评论之间进行选择,现在我只需要在接收者(1.Resort或2.Casino)之间进行选择,即可接收提交的评论。我开始改变选择,但想在搞乱模型和控制器之前检查一下 查看-联系方式Asp.net mvc 4 MVC4联系人表单--我需要在两个收件人之间进行下拉选择,将只发送给一个收件人,asp.net-mvc-4,Asp.net Mvc 4,我需要修改MVC4中的联系人表单,为用户提供两种不同的电子邮件收件人选择。我最初可以在信息和评论之间进行选择,现在我只需要在接收者(1.Resort或2.Casino)之间进行选择,即可接收提交的评论。我开始改变选择,但想在搞乱模型和控制器之前检查一下 查看-联系方式 <div id="ContactUsFormContainer"> @using (Html.BeginForm()) { @Html.
<div id="ContactUsFormContainer">
@using (Html.BeginForm())
{
@Html.ValidationSummary()
@Html.DropDownListFor(x => x.ContactRecipient, new[]
{
new SelectListItem() {Value = "Resort Comment"},
new SelectListItem() {Value = "Casino Comment"}})<br />
<div class="inputSmBox">
*Your First Name<br />
@Html.TextBoxFor(x => x.FirstName, new { @style = "width: 180px;", @class = "fHandleClass" })
</div>
<div class="inputSmBox">
*Your Last Name:<br />
@Html.TextBoxFor(x => x.LastName, new { @style = "width: 180px;" })
</div>
<div class="inputSmBox">
*Your Phone Number:<br />
@Html.TextBoxFor(x => x.Phone, new { @style = "width: 180px;" })
</div>
<div class="inputSmBox">
*Your Email Address:<br />
@Html.TextBoxFor(x => x.Email, new { @style = "width: 180px;" })
</div>
<p class="inputSmBox">
*Subject<br />
@Html.TextBoxFor(x => x.Subject, new { @style = "width: 400px;" })
</p>
<p class="inputSmBox" style="margin-top: 5px;">
*Type your comments below<br />
@Html.EditorFor(x => x.Comment, new { @style = "width: 400px;" })
</p>
<div class="Clear"></div>
<p>
<input type="submit" value="" class="submitButton" id="submitButtonStyle" />
</p>
}
</div>
谢谢假设您的表单和设置正常,那么我认为您所要做的就是在Model.ContactRecipient值上设置一个条件来投影Webmail.to值。我尚未运行此解决方案,但请尝试下面的方法
@{
try {
WebMail.SmtpServer = "mail.resortdata.com";
WebMail.From = "no-reply@casino.com";
if(Model.ContactRecipient="Resort Comment"){
Webmail.To = "info@resort.com"
}
else
{
Webmail.To = "info@casino.com"
}
WebMail.Send(Webmail.To, "From Resort Casino Website Contact Us Form",
Model.FirstName + " " + Model.LastName + " has initiated contact with Resort Casino via the website contact form." + "<br /><br />" + "Phone number:" + " " + Model.Phone + "<br /><br />" + "Email address:" + " " + Model.Email + "<br /><br />" + "Subject:" + " " + Model.Subject + "<br /><br />" + "<b>Comment:</b>" + "<br />" + Model.Comment +"<br />");
}
catch (Exception)
{
@:<b>Sorry we could not send an email with your contact information.</b>
}
}
<h2>Thank you @Model.FirstName for your comment. </h2>
@{
试一试{
WebMail.SmtpServer=“mail.resortdata.com”;
WebMail.From=“否-reply@casino.com";
if(Model.ContactRecipient=“度假村评论”){
Webmail.To=”info@resort.com"
}
其他的
{
Webmail.To=”info@casino.com"
}
WebMail.Send(WebMail.To,“从度假村赌场网站联系我们表格”,
Model.FirstName+“+Model.LastName+”已通过网站联系表开始与度假村赌场联系。“+”
“+”电话号码:“+”+Model.Phone+“
;
}
捕获(例外)
{
@:很抱歉,我们无法发送包含您联系信息的电子邮件。
}
}
谢谢@Model.FirstName的评论。
问题是什么?我如何为收件人添加下拉选项,然后在点击提交按钮时将其转到所选位置。我应该在视图、模型或控制器中放置什么?我忘了在处理表单输入的地方添加thankyou视图——我现在已经添加了它。谢谢
public ViewResult ContactUsThankYou()
{
int hour = DateTime.Now.Hour;
ViewData["greeting"] = hour < 12 ? "Good Morning!" : "Good Afternoon";
return View();
}
[HttpGet]
public ViewResult ContactUs()
{
return View();
}
[HttpPost]
public ViewResult ContactUs(ContactUs ContactUs)
{
if (ModelState.IsValid)
{
return View("ContactUsThankYou", ContactUs);
}
else
{
return View();
}
}
public class ContactUs
{
[Required(ErrorMessage = "Please enter your first name")]
[RegularExpression("^[a-zA-Z]+$",
ErrorMessage = "Please enter valid characters")]
public string FirstName { get; set; }
[Required(ErrorMessage = "Please enter your last name")]
[RegularExpression("^[a-zA-Z]+$",
ErrorMessage = "Please enter valid characters")]
public string LastName { get; set; }
[Required(ErrorMessage = "Please enter your phone #")]
[RegularExpression(@"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}",
ErrorMessage = "Please enter a valid phone number 555-555-5555")]
public string Phone { get; set; }
[Required(ErrorMessage = "Please enter your email")]
[RegularExpression("^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?",
ErrorMessage = "Please enter a valid email address all lower case")]
public string Email { get; set; }
[Required(ErrorMessage = "Please enter a subject")]
//[RegularExpression("^[a-zA-Z]+$",
// ErrorMessage = "Please enter a subject without odd characters")]
public string Subject { get; set; }
[Required(ErrorMessage = "Please enter your request or statement in the comment box")]
[RegularExpression("^[a-zA-Z]+$",
ErrorMessage = "Please enter valid characters")]
[DataType(DataType.MultilineText)]
public string Comment { get; set; }
}
@{
try {
WebMail.SmtpServer = "mail.resortdata.com";
WebMail.From = "no-reply@casino.com";
if(Model.ContactRecipient="Resort Comment"){
Webmail.To = "info@resort.com"
}
else
{
Webmail.To = "info@casino.com"
}
WebMail.Send(Webmail.To, "From Resort Casino Website Contact Us Form",
Model.FirstName + " " + Model.LastName + " has initiated contact with Resort Casino via the website contact form." + "<br /><br />" + "Phone number:" + " " + Model.Phone + "<br /><br />" + "Email address:" + " " + Model.Email + "<br /><br />" + "Subject:" + " " + Model.Subject + "<br /><br />" + "<b>Comment:</b>" + "<br />" + Model.Comment +"<br />");
}
catch (Exception)
{
@:<b>Sorry we could not send an email with your contact information.</b>
}
}
<h2>Thank you @Model.FirstName for your comment. </h2>