【发布时间】:2017-08-10 03:26:23
【问题描述】:
我的页面“PictureLotFiles.aspx”包含一个 CheckBoxList 和一个链接(最初是一个超链接,但它对我不起作用,因为它不会为我保存会话)。
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>
我想要完成的是将选定的值从 cblWarehouse 传递到摘要页面“PictureLotFilesSummary.aspx”。所以我有以下代码隐藏工作。
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");
}
从上面的代码中,我能够使用 Session 传递值,但我还没有尝试过 QueryString。我已经注释掉了最后两行,因为其中一行打开了一个新的弹出窗口,而另一行只是重定向到页面。
还有其他方法可以尝试实现我的目标吗?哪个是将选择的值传递到摘要页面并在新选项卡而不是新窗口中打开它? 谢谢!
【问题讨论】:
-
也许您应该尝试 QueryString 并检查这种方式是否适合您。要打开新标签,请检查此answer 或尝试
c# asp.net open in new tab。 -
@MauricioAriasOlave 您提供的链接也会在新窗口中为我打开页面。我想我将不得不接受这一点。
标签: javascript c# asp.net