更新面板+窗口.打开+ https
Update Panel + window.open + https
我正在使用c#和asp.net进行开发。
我有一些带有更新面板的页面。在此更新面板中有一个按钮,可重定向到新窗口。这是通过调用窗口来完成的。打开后面代码中的scriptmanager。一切都很好,直到我不使用https。如果我使用隧道与路由器有一个安全的线路,直到路由器,然后使用代理访问我的网页,窗口。从更新面板中的按钮打开一个新的注册卡,但在那里我得到错误:页面未找到。在url中,我可以看到路由器没有把代理+IP放在路径之前。如果我删除更新面板,就不会发生这种情况。使用Firebug,我可以看到,在更新面板中,我得到一个POST,在响应中,contentType是text/plain。没有更新面板,有一个GET,响应contentType是text/html。那么,在不删除更新面板的情况下,我该如何运行这个程序呢?
这个工作很好,直到我不使用https在我的代理:
protected void btnPrint_Click(object sender, EventArgs e)
{
url = "~/Gui/Report/ReportViewer.aspx?ReportName=CustomerReport";
Page page = (Page)HttpContext.Current.Handler;
if (page == null) {
Redirect(url);
}
url = page.ResolveUrl(url);
string script = @"window.open(""{0}"");";
script = String.Format(script, url);
ScriptManager.RegisterStartupScript(page,
typeof(Page),
"Redirect",
script,
true);
}
<asp:UpdatePanel ID="UpdatePanel" runat="server">
<ContentTemplate>
<dx:ASPxButton runat="server" ID="btnPrint"
Text="print" OnClick="btnPrint_Click">
</dx:ASPxButton>
</ContentTemplate>
</asp:UpdatePanel>
知道了....
如果我使用代理,则scriptlanguage是javascript的信息丢失(奇怪…?!?!)。如果我在自己的脚本标签上添加属性"language='javascript'",那么一切都很好。有人能告诉我为什么这些信息丢失了吗?
这里是新的代码:
protected void btnPrint_Click(object sender, EventArgs e)
{
url = "~/Gui/Report/ReportViewer.aspx?ReportName=CustomerReport";
Page page = (Page)HttpContext.Current.Handler;
url = page.ResolveUrl(url);
string script = "window.open('" + url + "');";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append(script);
sb.Append("</script>");
ScriptManager.RegisterStartupScript(page,
typeof(Page),
"Redirect",
script,
false);
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 如何使用jQuery自动打开页面上的所有链接
- 通过js在新选项卡中有条件地打开url
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- ng打开空字符串
- 打开一个模态并将其链接到AngularJS中的指令
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在事件上打开Materialize Date Picker
- 锚点元素不't使用svg时,请打开EDGE上的href
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 如何使用特定大小的浏览器窗口打开我的页面
- 为什么window.open不打开一个以变量形式给出的链接
- 无法打开 https,尤其是 phantomjs 中的 salesforce 网站
- Casperjs 无法打开 HTTPS URL
- 如何打开https网站上的一个按钮点击javascript
- 如何在Android混合应用程序中打开HTTPS页面(带有自签名证书)
- 更新面板+窗口.打开+ https