从MVC3的控制器打开jquery模态对话框

本文关键字:jquery 模态 对话框 MVC3 控制器 | 更新日期: 2023-09-27 18:07:47

在我的_Layout.cshtml我写javascript代码,这允许我在页面上显示模态对话框表单的用户登录,当我点击链接,这是工作。我的问题是我想做这样的事情:

我点击ActionLink,从控制器运行代码,即:

    public ActionResult Create()
    {
        if (Session["UserID"] != null)
        {
            ViewBag.PlaceID = new SelectList(db.Places, "PlaceID", "Name");
            ViewBag.UserID = new SelectList(db.Users, "UserID", "FullName");
            return View();
        }
        else
        {
            return RedirectToAction("LogIn", "User");
        }
    } 

有人有想法,如何改变return RedirectToAction("LogIn", "User");代码,为一些东西,显示我的模态对话框,而不是打开新的页面登录?

从MVC3的控制器打开jquery模态对话框

你应该在javascript中处理点击。

你的点击应该打开模态窗口,这可能是你从控制器返回的部分。或者只是做一个隐藏秀。已经在页面上设置了登录。但是如果你愿意,你可以在模态窗口的源代码中放置一个远程URL(这将是对你的控制器的调用)。

查看这个:

ASP。. MVC jQuery对话框Partial

使用Ajax.ActionLink()

控制器:

public ActionResult Login() 
{
    if(Request.IsAjaxRequest())
    {
        return PartialView();
    }
    return View(); //fallback for no-js
}

和view:

Ajax.ActionLink("Login", "Login", "Accounts", null, new AjaxOptions { UpdateTargetId = "modal-login", OnComplete = "$('#modal-login').dialog('open');" })