2012-04-04 61 views

回答

2

對於用戶來說,這看起來不太實際,因爲在第二個選項卡中進行身份驗證之後,他們必須刷新第一個選項卡以查看效果。

ReturnUrlFormsAuthentication的財產似乎做你想要的。當用戶需要登錄時,他們被重定向到登錄頁面,登錄後他們被重定向回去。

如果您正在廣泛使用javascript和ajax,並且希望保留當前頁面的javascript變量但需要登錄才能執行ajax調用,那麼可能有另一種解決方案。如果您的ajax調用的響應是未經身份驗證的標題,請使用用戶名和密碼字段打開一個lightbox或類似的東西。使用ajax post到AccountController再次登錄用戶。這樣,用戶再次被認證,但你保持JavaScript變量。

1

這隻能使用JavaScript來完成。嘗試這個。

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

希望工程。

1

如果你調用從表單操作,並使用提交的輸入類型,你可以嘗試 <input type="submit" formtarget="_blank" /> 如果使用鏈接<a>或AjaxCall的你可以嘗試 <a target="_blank"></a>或AJAX輔助設置屬性@target =「_空白」

這裏是我的代碼 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"); 

    } 
相關問題