0

Asp.net MVC の分離コードから新しいタブで別のサイトを開く必要があります。

return Redirect("Url"); 同じタブ内で別のサイトを開くために使用されます。

4

3 に答える 3

2

2 番目のタブで認証した後、効果を確認するには最初のタブを更新する必要があるため、ユーザーにとっては実用的ではないようです。

ReturnUrlプロパティはFormsAuthentication、あなたが望むことをしているようです。ユーザーがログインする必要がある場合、ユーザーはログイン ページにリダイレクトされ、サインイン後にリダイレクトされます。

JavaScript と ajax を多用していて、現在のページの JavaScript 変数を保持したいが、ajax 呼び出しを行うためにログインする必要がある場合は、別の解決策があるかもしれません。ajax 呼び出しの応答が認証されていないヘッダーである場合は、ライトボックスなどをユーザー名とパスワード フィールドで開きます。ajax post を使用AccountControllerして、ユーザーを再度サインインします。このようにして、ユーザーは再度認証されますが、JavaScript 変数は保持されます。

于 2012-04-04T07:30:30.050 に答える
1

これは、JavaScriptのみを使用して実行できます。これを試して。

<% Response.Write '<script type="text/javascript"> window.open(url); </script>' %>

それがうまくいくことを願っています。

于 2012-04-05T06:37:53.807 に答える
1

フォームからアクションを呼び出し、送信の入力タイプを使用する <input type="submit" formtarget="_blank" /> 場合は、リンク<a>または AjaxCall を使用する場合に試すことができます。 <a target="_blank"></a>または ajax ヘルパーでプロパティ@target="_blank"を設定します。

ここに私のコードcshtmlがあります

 @using (Html.BeginForm("PersonsReport", "Reports"))
        {
            <br />
            <div style="text-align: center;">
                <input type="submit" formtarget="_blank" class="btn btn-primary" value="GetReport" style="width:100%;" />
            </div>
            <br />
        }

controller.cs

 public ActionResult PersonsReport()
    {
        return Redirect("/PersonsReport.aspx");

    }
于 2014-09-03T09:45:51.750 に答える