C# 如何在发布表单后显示提交成功消息
当用户在C# 如何在发布表单后显示提交成功消息,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,当用户在注册页面上成功提交时,我想在索引页面上显示一条成功提交消息 我的注册操作包括: [HttpPost] [ValidateAntiForgeryToken] public ActionResult SaveRegister(AirlineWebApplication.Models.User User, HttpPostedFileBase file) { db.Users.Add(User); db.SaveChanges(); return RedirectToA
注册
页面上成功提交时,我想在索引
页面上显示一条成功提交消息
我的注册操作包括:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SaveRegister(AirlineWebApplication.Models.User User, HttpPostedFileBase file)
{
db.Users.Add(User);
db.SaveChanges();
return RedirectToAction("Index");
}
我的注册表
视图包括以下内容
<section class="registersection">
<div class="container-fluid">
<div class="row">
<div class="signupForm">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
@using (Html.BeginForm("SaveRegister", "Users", FormMethod.Post)) {
@Html.ValidationSummary(true)
@Html.AntiForgeryToken()
<div class="editor-field">
<label>Name
@Html.EditorFor(model => model.user_name)
</label>
@Html.ValidationMessageFor(model => model.user_name)
</div>
<div class="editor-field">
<label>Password
@Html.EditorFor(model => model.password)
</label>
@Html.ValidationMessageFor(model => model.password)
</div>
<p>
<input type="submit" value="Register" />
</p>
}
</div>
</div>
</div>
</div>
</section>
@使用(Html.BeginForm(“SaveRegister”、“Users”、FormMethod.Post)){
@Html.ValidationSummary(true)
@Html.AntiForgeryToken()
名称
@EditorFor(model=>model.user\u name)
@Html.ValidationMessageFor(model=>model.user\u name)
暗语
@EditorFor(model=>model.password)
@Html.ValidationMessageFor(model=>model.password)
}
当我按下注册
按钮时,如何在索引
页面上显示成功消息“You have Register successfully”?在Visual Studio中创建新项目时,您可以看到如何显示确认消息的示例
您可以创建一个新视图,例如RegisterConfirmation
,然后在控制器中,将最后一行更改为:
return RedirectToAction("Index");
致:
编辑不建议在主索引
页面上显示消息。如果要执行此操作,需要将消息传递到索引
页面:
string message = "You have registered successfully";
return RedirectToAction("Index", "Home", new { m = message });
然后在索引
页面的控制器中,您需要从查询字符串中获取消息并将其添加到模型或视图包
:
public ActionResult Index(string m) {
ViewBag.Message = m;
}
最后,在您的索引
视图中,您可以在div
页面上的任何位置显示消息:
<div>@ViewBag.Message</div>
在索引
视图中:
<div>@TempData["Message"]</div>
@TempData[“Message”]
有很多方法可以做到这一点。例如,在控制器中,使用TempData了解您的来源:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SaveRegister(AirlineWebApplication.Models.User User,
HttpPostedFileBase file)
{
db.Users.Add(User);
db.SaveChanges();
TempData["Referrer"] = "SaveRegister";
return RedirectToAction("Index");
}
在索引视图中:
@if((string)TempData["Referrer"] == "SaveRegister")
{
<div class="alert alert-success">
<strong>You have registered successfully</strong>
</div>
}
@if((字符串)TempData[“referer”]=“SaveRegister”)
{
您已成功注册
}
与ViewBag不同,TempData将保留到下一个请求,以便它适合重定向到不同的页面并从中检索值。这是一个范围太广的问题,请澄清您到底想实现什么以及什么不起作用。顺便说一下,第42行有一个不匹配的
/您想显示为弹出消息吗?或者只是在索引页上显示消息?我想要一条弹出消息。你有引导功能吗?是的,我有引导功能。但是我想在主“索引”页上显示消息。你需要在问题中清楚地提到这一点。我会更新我的答案。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SaveRegister(AirlineWebApplication.Models.User User,
HttpPostedFileBase file)
{
db.Users.Add(User);
db.SaveChanges();
TempData["Referrer"] = "SaveRegister";
return RedirectToAction("Index");
}
@if((string)TempData["Referrer"] == "SaveRegister")
{
<div class="alert alert-success">
<strong>You have registered successfully</strong>
</div>
}