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>
}