在回发后用MVC c#显示弹出确认消息
本文关键字:显示 确认 消息 MVC | 更新日期: 2023-09-27 18:02:41
使用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" />
请协助。
代替RedirectToAction()
,返回View
:
new Email().Send(contact);
ViewBag.Message = "Message Sent";
return View();
在视图:@if(ViewBag.Message != null)
{
<script>
$(document).ready(function(){
alert('@ViewBag.Message');
});
</script>
}
Add Inside controller
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");
}
索引。cshtml页
@if(ViewBag.IsEmailSent)
{
<script>
$(function(){
$("#successModal").modal('show'); });
</script>
}
将结果(从RedirectToAction("Index")
)更改为提供确认的视图
如果你不想有一些东西,主要是现有页面的副本(如Index
),然后传递一个包含ShowConfirmation
标志的对象,并在索引视图中有一些逻辑来显示确认,如果该标志被设置。