【问题标题】:how to display alert message in controller如何在控制器中显示警报消息
【发布时间】:2011-09-21 18:19:10
【问题描述】:

我正在使用一个在数据库中插入值的控制器。当值成功插入数据库时​​,我想显示来自控制器的警报消息。 可能吗。如果是那怎么办?

【问题讨论】:

  • 警报是什么意思?如 javascript 浏览器警报('helo world');警报类型?
  • 是的,比如 alert('Successfully Inserted");
  • 您可以在控制器上发布您当前的代码吗?您如何将数据发布到控制器上?是用jquery post吗?

标签: asp.net-mvc model-view-controller asp.net-mvc-2


【解决方案1】:

基本上,这取决于您如何将值插入数据库,因为您需要一种方法来告诉您插入是否成功。因为现在有几种方法可以做到这一点,linq/entity framework/sql/etc.

然后在你知道插入是否发生之后,你可以给一个变量赋值,然后从代码/aspx中检查这个值并做一个简单的警报。

<script type="text/javascript">
//i'm using jquery ready event which will call the javascript chunk after the page has completed loading
$(document).ready(function(){
//assuming that your variable name from the code behind is bInsertSuccess
var bSuccess = "<%= bInsertSuccess %>";
if(bSuccess){
    alert("Successfully Inserted");
}
});
</script>

【讨论】:

    【解决方案2】:

    您可以添加以下代码告诉用户

    Return Content("Data added successfully");
    

    【讨论】:

      【解决方案3】:

      您可以将结果添加到 ViewData。例如:

      if (SaveToDbOK)
      {
          ViewData["Success"] = "Data was saved successfully.";
         // Do other things or return view
      }
      

      在您看来,您可以放置​​在任何地方:

      MVC2:

      MVC3:

      @if (ViewData["Success"] != null) {
      @ViewData["成功"]
      @}

      我在上一个项目中使用了这种方法,以使从服务器返回的信息不显眼。检查是否在 Master 页面中完成 ViewData["Success"] 或 ViewData["Failure"],使用 CSS 格式化 div,使用 jQuery 代码隐藏 5 秒后的通知。

      问候,

      哈士奇

      【讨论】:

        【解决方案4】:
        public ActionResult UploadPropertyImage()
        {
            // Business logic....
            return Content("<script language='javascript' type='text/javascript'>alert('Save Successfully');</script>");
        }
        

        【讨论】:

        • 通过将 js 从控制器添加到视图的内容中,您会破坏封装,视图应该已准备好接收警报。 melaos 的回答尊重封装。
        • 但这更多是个人喜好,我的意思是你应该遵循设计模式,但在某些情况下,它会使原本微不足道的任务过于复杂。例如,在我的情况下,我只需要在一个地方执行此操作,并且我们不会在视图中使用 JavaScript,因此就我而言,这个解决方案正是我想要的,一种快速发送警报的方法。
        猜你喜欢
        • 2018-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-17
        • 2021-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多