如何使用ASP.NET MVC中的Javascript打开一个窗口?

时间:2010-11-03 21:04:07

标签: javascript asp.net-mvc-2

我正在编写一个小型MVC应用程序,它是一个实用程序,用于模拟从门户网站获取id并在数据库中设置它以便在此应用程序打开时获取另一个应用程序的操作。我试图用ASP.NET MVC写它“弄湿我的脚”。在其中,我试图使用JavaScriptResult(DESPITE所有警告)来执行Javascript的window.open函数,但我只得到一个像FilePathResult一样的文件对话框 - 它显示一个对话框,询问我是否要保存我的文件这是ActionEResult的名称。我该怎么做?

public JavaScriptResult SessionTransferDesktop(string PortalUserId)
{
    /// .... Call Oracle SP to set token

    // Redirect to RON Scheduler
    string js = "window.open('/RONSchedulerMVC/default.aspx?p_token=' + portalToken);";
    // string js ="window.open('http://microsoft.com')";
    return JavaScript(js);
}

2 个答案:

答案 0 :(得分:1)

public ActionResult SessionTransferDesktop(string PortalUserId)
{
    /// .... Call Oracle SP to set token

    // build url and redirect
    var uriBuilder = new UriBuilder("http://example.com");
    uriBuilder.Path = "/RONSchedulerMVC/default.aspx";
    uriBuilder.Query = "p_token=" + Url.Encode(portalToken);
    return Redirect(uriBuilder.ToString());
}

答案 1 :(得分:0)

您正在获取文件结果,因为您的浏览器正在请求某些内容并获取内容类型:application / javascript。

让这项工作最简单的方法就是简单地让路由将响应重定向到门户网站。然后,您可以直接在所述路线和利润上调用window.open。