Как открыть окно, используя Javascript из ASP.NET MVC? - PullRequest
1 голос
/ 04 ноября 2010

Я пишу крошечное приложение MVC, которое представляет собой утилиту для имитации действий по получению идентификатора с портала и установке его в базе данных для другого приложения, которое можно получить, пока оно открыто.Я попытался написать его, используя ASP.NET MVC, чтобы «промокнуть».В нем я пытаюсь использовать JavaScriptResult (DESPITE все предупреждения) для выполнения функции window.open в Javascript, но я получаю только файловый диалог, который действует как 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 ]

1 голос
/ 04 ноября 2010
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());
}
0 голосов
/ 04 ноября 2010

Вы получаете файл, потому что ваш браузер запрашивает что-то и возвращает тип контента: application / javascript.

Самый простой способ заставить это работать - просто заставить маршрут перенаправить ответ на портал.Затем вы можете просто позвонить в window.open напрямую по указанному маршруту и ​​получить прибыль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...