将MVC框架与C#编码结合使用。视图以标准HTML代码编写。 一旦用户点击提交按钮
,我需要一条确认消息“您的消息已被发送”这是控制器:
public ActionResult Index(ContactViewModel contactVM){
if (!ModelState.IsValid)
{
string url = Request.UrlReferrer.AbsolutePath+ "#contact";
return View();
}
else
{
var contact = new Contact
{
Name = contactVM.Name,
Email = contactVM.Email,
Subject = contactVM.Subject,
Message = contactVM.Message
};
new Email().Send(contact);
return RedirectToAction("Index");
}
以下是视图:
<input type="submit" class="submit_btn left" name="Submit" id="submit" value="Submit"/>
<input type="reset" class="submit_btn right" name="Reset" id="reset" value="Reset" />
请帮忙。
答案 0 :(得分:13)
而不是RedirectToAction()
,请返回View
:
new Email().Send(contact);
ViewBag.Message = "Message Sent";
return View();
在视图中:
@if(ViewBag.Message != null)
{
<script>
$(document).ready(function(){
alert('@ViewBag.Message');
});
</script>
}
答案 1 :(得分:2)
添加内部控制器
ViewBag.IsEmailSent=true;
public ActionResult Index(ContactViewModel contactVM){
if (!ModelState.IsValid)
{
string url = Request.UrlReferrer.AbsolutePath+ "#contact";
return View();
}
else
{
var contact = new Contact
{
Name = contactVM.Name,
Email = contactVM.Email,
Subject = contactVM.Subject,
Message = contactVM.Message
};
new Email().Send(contact);
ViewBag.IsEmailSent=true;
return RedirectToAction("Index");
}
Index.cshtml页面
@if(ViewBag.IsEmailSent)
{
<script>
$(function(){
$("#successModal").modal('show'); });
</script>
}
答案 2 :(得分:0)
将结果(从RedirectToAction("Index")
)更改为提供确认的视图。
如果您不希望拥有的内容主要是现有网页的副本(例如Index
),则传递包含ShowConfirmation
标记的对象,并在索引视图有一些逻辑来显示确认是否设置了该标志。