【问题标题】:How to add a pop up dialog?如何添加弹出对话框?
【发布时间】:2014-01-28 14:49:20
【问题描述】:

我写信是想知道,每当“api_login 为空”时,我如何创建一个弹出对话框。我也想知道,怎么把url链接也放在弹框里。

 public api_login Getapi_login(string id)
    {
        api_login api_login = db.api_login.Find(id);
        if (api_login == null)
        {
            throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            //Response.Write("<script>alert('Your alert box')</script>");
        }

        return api_login;
    }

非常感谢

【问题讨论】:

    标签: c# javascript jquery asp.net-mvc-3 asp.net-web-api


    【解决方案1】:

    您可以使用JQuery 弹出窗口来实现这一点

    【讨论】:

      【解决方案2】:

      我们在 Controller 方法上使用一个名为“CustomExceptionHandler”的属性(例如)。在其中我们获取我们想要的描述并将其传递给 Response.StatusDescription 属性。一旦响应返回到我们的调用页面,我们就会有一个小 js 读取状态描述并在任何地方输出(例如,在警报中)。它看起来像这样:

      示例操作

      [CustomExceptionHandler]
              public ActionResult Save(SomeViewModel viewModel)
              {
      //do stuff
      
      }
      

      CustomExceptionHandler 类

      public class CustomExceptionHandler : HandleErrorAttribute
      {
          public override void OnException(ExceptionContext filterContext)
          {
              handleException(filterContext);
          }
      
          private void handleException(ExceptionContext filterContext)
          {
              filterContext.HttpContext.Response.StatusCode = 500;
              filterContext.HttpContext.Response.StatusDescription = HttpUtility.UrlEncode(filterContext.Exception.Message);
      
              filterContext.ExceptionHandled = true;
              filterContext.HttpContext.Response.Clear();
              filterContext.HttpContext.Response.End();
          }
      }
      

      Javascript(例如使用 ajax 调用)

      function onFormFailure(context) {
          alert(context.statusText);
      }
      

      我们喜欢它的地方在于异常的消息与显示是分开的。因此,如果我们想在警报、模式或内联中显示消息,我们可以独立更改它。

      【讨论】:

      • 这真的很有帮助。谢谢!
      【解决方案3】:

      您需要从客户端上的 Javascript 代码生成警报。下面利用 jQuery 的 AJAX 函数:

      $.ajax( {
        url: "/YourUrl",
        data: { id = yourIdVariable } 
       })
      .done(function(jqXHR) {
           alert( "success" );
      })
      .fail(function(jqXHR) {
           alert( "Error with status code" + jqXHR.status );
      })
      .always(function(jqXHR) {
          alert( "complete" );
      });
      

      参考:http://api.jquery.com/jquery.ajax/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-13
        • 1970-01-01
        • 2021-01-11
        • 2020-06-26
        • 1970-01-01
        • 1970-01-01
        • 2015-09-17
        相关资源
        最近更新 更多