.net问题
我有asp:LinkButton
,点击后会点击后面的代码,创建会话并调用javascript函数打开带PDF文档的新标签
这是按钮:
<asp:LinkButton runat="server" CssClass="lnkBtn" ID="btnViewPDF" >
<img alt="" src="External_Files/images/view_pdf_icon.png" />
<span>View PDF</span></asp:LinkButton>
代码背后的代码:
Protected Sub btnViewPDF_Click(sender As Object, e As System.EventArgs)
Handles btnViewPDF.Click
Session("mina") = hfChartImg.Value
Page.ClientScript.RegisterStartupScript(Me.GetType(), "_viewPDF",
"changeUrl();", True)
End Sub
这是使用pdf
打开新标签的js函数 function changeUrl(){
var url = 'CIP_frmCIPEventExplorePdf.aspx?ViewPDF=1&intCIPEventID=' +
$('#intCIPEventID').val();
parent.showNewTab(url, 'CIP Chart - PDF', 'CIP');
}
此代码工作正常,直到我不得不用来包装我的页面内容 asp:ScriptManager and asp:UpdatePanel
这是我的代码现在的样子
<body class="frame_content">
<form id="CIP_frmCIPEventExplore" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"
EnablePartialRendering="true"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="dataview_title" >
..............................
..........................
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
问题
当我在session
行放置一个断点时,代码不再调用javascript函数,它会点击该行,然后END SUB
请问有谁请问我的问题在哪里?
答案 0 :(得分:0)
试试这个..我遇到了类似的问题,使用RegisterStartupScript()
无效。以下对我有用:
<form id="CIP_frmCIPEventExplore" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
...
</ContentTemplate>
</asp:UpdatePanel>
</form>
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function (s, e) {
changeUrl();
});
</script>
答案 1 :(得分:0)
这是一个相当常见的问题,你必须使用由scripmanger提供的新方法 所以在你的代码而不是这个
Page.ClientScript.RegisterStartupScript
你必须使用
ScriptManager.RegisterClientScriptBlock
看看这个