c# - 使用 Window.Open 而不是 Response.Redirect 打开新窗口?

标签 c# asp.net

我的页面代码如下所示:

<asp:Button ID="btnSearch" runat="server" Text="Search" onclick="btnSearch_Click"/>

我的方法是这样的:

protected void btnSearch_Click(object sender, EventArgs e)
    {
        var value = lblGraphicNameValue.Text.ToString();
        Response.Redirect("Search.aspx?txtGraphicName=" +
                           value);
    }

目前,当用户按下“搜索”按钮时,页面会刷新并加载 Search.aspx 页面。我想要的是在新窗口中打开 Search.aspx。我看过使用 Window.Open,但我不确定这是否是正确的路线,或者我是否可以使用相同的方法来传递我的变量(查询字符串)。有人能指出我正确的方向吗?我的作品有效,我只希望它在新页面中打开,同时保留上一页。

编辑:我应该提到我不能使用 javascript(安全环境,每个浏览器都禁用了 javascript)。

从我正在阅读的内容来看,这似乎表明在没有 javascript 的情况下,从 asp.net 页面中打开一个新网页并传入参数是行不通的?这是正确的吗?

最佳答案

下面这段代码最终完全满足了我的需要:

<a href="<%= this.ResolveUrl("Search.aspx?id=" + lblGraphicNameValue.Text.Remove(lblGraphicNameValue.Text.Length -4)) %>"
                                                                                target="_blank">Search Related</a>

这段代码做了三件事:

  • 1) 在新页面中打开搜索。
  • 2) 将搜索值截断四 字符(我只需要搜索字符串的一部分)
  • 3) 传入 新页面的参数。

这完全满足了我的需要,而无需借助自定义类或 javascript,尽管它确实让我不得不使用链接而不是按钮。

关于c# - 使用 Window.Open 而不是 Response.Redirect 打开新窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17679565/

相关文章:

javascript - Response.Write - 我现在如何摆脱脚本?

asp.net - 在 App_Code 目录中调试较长的编译时间

c# - Azure 应用服务未经授权的用户访问 Controller

c# - 当我将 visible 正确设置为 true 时,如何防止我的 C# winforms 应用程序窃取焦点?

c# - 像这样使用嵌套的 Try..Catch block 不好吗?

html - 如何呈现 report.rdlc 中的格式化文本(及其格式)

c# - 获取屏幕空间中的 UnityEngine.UI.Images 位置并计算归一化偏移量(在覆盖 Canvas 内)

c# - 无法将类型 'string' 转换为 'float'

asp.net - 在 IIS 上托管 WCF Web 服务 - 在 VS 中工作,但在 IIS 中不工作

c# - ASP.NET - Page.Form.Action 错误