【问题标题】:Asp.net mvc controller code method struckAsp.net mvc控制器代码方法来袭
【发布时间】:2021-02-07 19:31:47
【问题描述】:

我对 asp.net mvc 比较陌生,但我曾在 asp.net webforms 上工作过。我面临的问题是,如果我单击需要完成的某些操作并且必须抛出警报消息,我的视图页面上有按钮。我可以通过 onclick 事件在 asp.net webforms 中轻松实现这一点并返回到同一页面,但我无法做到这一点 asp.net mvc

控制器中的动作方法:

  Public  void loaddata()
  {
    //Some logic
    Viewbag.message="success"
  }

在查看页面中:

  <scripts>
   @if(Viewbag.message!= null)
   {
    //javascript alert box logic
   }
  <scripts>

此代码在控制器操作方法之前有效,但在完成后它不会转到我有按钮的视图

【问题讨论】:

  • 在 ASP.NET MVC 中使用 void 操作几乎从来都不是一个好的决定。我建议您阅读有关如何在 MVC 中完成工作的教程。将数据放入ViewBag 并将其放入视图的唯一方法是重新加载视图(通常通过return View() / return PartialView()
  • 这能回答你的问题吗? How to show alert message from MVC?

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

您的 controllen 操作正在返回 void,因此没有任何内容返回您的视图。 在 MVC 中,这是一种不好的做法。如果实在不想返回view或者partialView,也可以返回不同类型的ActionResult。 https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.actionresult?view=aspnet-mvc-5.2

在这种情况下,返回 HttpStatusCodeResult 或 JsonResult 可能会对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多