【问题标题】:I need a link that saves variable in session first then open a new tab我需要一个在会话中保存变量的链接,然后打开一个新选项卡
【发布时间】: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


【解决方案1】:

你可以使用window.open,但是去掉所有的windows格式化参数

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

之后取决于浏览器的设置是设置在新窗口还是新标签页中打开链接。

如果您需要将sd 作为参数传递,那应该没什么大不了的:

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

【讨论】:

    猜你喜欢
    • 2019-04-14
    • 2012-04-07
    • 2021-06-09
    • 2016-05-06
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多