繁体   English   中英

如何添加一个弹出对话框?

[英]How to add a pop up dialog?

我写的是,每当“ 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;
    }

非常感谢

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

您需要根据客户端上的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/

我们在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);
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM