2017-08-09 6 views
1

CheckBoxListとリンク(元はハイパーリンクですが、それは元々はハイパーリンクですが、それは私のためには動作しません)を持つ "PictureLotFiles.aspx"私のためにセッションを保存してください)。私が達成しようとしています何セッションの変数を保存してから新しいタブを開くリンクが必要

PicturesLotFiles.aspx 
<asp:CheckBoxList ID="cblWarehouse" runat="server" Font-Size="10pt" Font-Names="Verdana" 
     RepeatColumns="8" RepeatDirection="Horizontal" OnSelectedIndexChanged="cblWarehouse_SelectedIndexChanged"> 
</asp:CheckBoxList> 

<asp:LinkButton ID="lnkBtnSummary" runat="server" OnClick="lnkBtnSummary_Click" 
     Target="_blank">Review Lot Pictures Summary Report</asp:LinkButton> 

概要ページ「PictureLotFilesSummary.aspx」にcblWarehouseから選択した値(複数可)を通過させることです。だから私は以下のコードビハインドが働いている。

PicturesLotFiles.aspx.cs 
protected void lnkBtnSummary_Click(object sender, System.EventArgs e) 
{ 
    Session["WarehouseSelected"] = ""; 

    StringBuilder sb = new StringBuilder(); 
    foreach (ListItem listItem in cblWarehouse.Items) 
    { 
     if (listItem.Selected) 
     { 
      sb.Append(listItem.Value); 
      sb.Append(", ");    
     } 
    } 

    if (sb.Length>2) 
     sb.Remove(sb.Length - 2, 2); 

    Session["WarehouseSelected"] = sb; 

    //Response.Write("<SCRIPT language=\"javascript\">open('PicturesLotFilesSummary.aspx','_blank','top=0,left=0,status=yes,resizable=yes,scrollbars=yes');</script>"); 
    //Response.Redirect("~/PicturesLotFilesSummary.aspx"); 
} 

上記のコードから、私はセッションを使用して値を渡すことができましたが、まだQueryStringを試していません。私は最後の2行をコメントアウトしています。その1つは新しいポップアップウィンドウを開き、もう1つは単にページにリダイレクトします。

私の目標を達成するために他の方法がありますか?選択した値をサマリーページに渡し、新しいウィンドウではなく新しいタブで開きますか? ありがとう!

+0

たぶん、あなたはのQueryStringを試してみて、その方法は、新しいタブを開いyou.Forのために働くかどうかを確認する必要があり、これをチェック[回答](https://stackoverflow.com/a/10493957/4092887)または 'c#asp.net open in new tab'を試してみてください。 –

+0

@MauricioAriasOlaveあなたが提供したリンクも私のための新しいウィンドウでページを開きます。私はそれを受け入れなければならないと思う。 –

答えて

1

あなたはwindow.openを使用しますが、それが新しいウィンドウまたは新しいタブでリンクを開くには、セットアップのかどうか、ブラウザの設定次第ですその後の引数

Response.Write("<SCRIPT language=\"javascript\">open('PicturesLotFilesSummary.aspx','_blank');</script>"); 

をフォーマットすべてのウィンドウを削除することができます。

あなたが引数としてsdを渡す必要がある場合は、それは大したことではないはずです。

Response.Write("<SCRIPT language=\"javascript\">open('PicturesLotFilesSummary.aspx?sb=" + 
    sb + "','_blank');</script>"); 
+1

ありがとうございました!最初のスクリプトは私のために働く! –

関連する問題