我用c#和asp.net開發。更新面板+ window.open + https
我有一些頁面更新面板。在此更新面板中,有一個按鈕可重定向到新窗口。這是通過調用window.open與代碼後面的scriptmanager來完成的。一切工作正常,直到我不使用https。如果我使用隧道與路由器有一個安全的線路,直到路由器,然後使用代理來訪問我的網頁,從更新面板中的按鈕調用window.open打開一個新的註冊卡,但在那裏我得到錯誤:找不到頁面。在URL中,我可以看到路由器沒有在路徑之前放置代理+ IP。如果我刪除了更新面板,則不會發生這種情況。使用Firebug,我可以看到,在更新面板中,我得到一個POST,並且在contentType中顯示text/plain。沒有更新面板有一個GET和響應contentType是文本/ 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>
所以,你有一個代碼或類似的東西? –