繁体   English   中英

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

[英]Open jquery modal dialog from controller in MVC3

在我的_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"); 代码,以显示我的模式对话框而不是打开新页面进行登录?

您应该处理javascript中的点击。

单击将打开模式窗口,这可能是您从控制器返回的部分窗口。 将登录名放在页面上。 但是,如果您愿意,可以在模式窗口的源中放置一个远程URL(这是对控制器的调用)。

看看这个:

ASP.Net MVC jQuery对话框部分

使用Ajax.ActionLink()

控制器:

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

并在视图中:

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

暂无
暂无

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

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