当我点击链接按钮xyz打开一个新窗口时,ASP.Net链接按钮打开页面x.ASP
ASP.Net LinkButton opens page page x.asp when i click on linkButton xyz to open a new window
我有一个asp.net网页,里面有类似LinkButton的Comment|Email|Download|Print。
我使用jQuery在Ajax模式弹出菜单中打开Comment(Comment.asx)和Email(EmailArticle.aspx)表单。一切都很好,只是当我单击打印链接按钮时,它会以新窗口的形式打开页面,但在主页面上,它也会从PageXYZ.aspx移动到EmailArticle.aspx页面。
我不确定我检查过的代码出了什么问题,我可能会发现任何错误。我必须设置一些属性,这样当我点击下载或打印时,它会打开新闻窗口,但保持邮件页面的不变
JavaScript
<script type="text/javascript" >
jQuery(document).ready(function () {
//Load EMail Form
$("#<%=pnlEmailArticleForm.ClientID %>").load("EmailArticle.aspx", function () {
//alert("Email Form has been loaded successfully!")
});
//For printing
function CallPrint() {
window.open('PrintArticle.aspx?articleID=<%=Request["articleID"] %>', 'Email', 'width=690, height=650,left=100, top=100, location=no, menubar=no, resizable=no, scrollbars=no, status=no, toolbar=no,fullscreen=no');
}
</script>
Ajax模式弹出菜单的HTML代码
<asp:ModalPopupExtender ID="mpShowCommentPopUp" runat="server" TargetControlID="lnkBtnComment" PopupControlID="pnlComment"
BackgroundCssClass="modalBackground" CancelControlID="imgBtnClose" RepositionMode="None"></asp:ModalPopupExtender>
<asp:Panel ID="pnlComment" runat="server" BackColor="White" Height="490px" Width="520px" style="display:none">
<div id="commentForm" class="commentForm">
<div id="divClose" class="commentClose">
<asp:ImageButton ID="imgBtnClose" runat="server" ImageUrl="~/images/close.png" onclick="imgBtnClose_Click" CausesValidation="False" />
</div>
<!-- comment Form -->
<asp:Panel ID="pnlCommentForm" runat="server" Visible="true">
</asp:Panel>
<!-- comment Form -->
</div>
</asp:Panel>
</div>
<div>
<asp:ModalPopupExtender ID="mpShowEmailArticlePopup" runat="server" TargetControlID="lnkBtnEmail" PopupControlID="pnlEmailArticle"
BackgroundCssClass="modalBackground" CancelControlID="imgBtnCloseEmailPopup" RepositionMode="None"></asp:ModalPopupExtender>
<asp:Panel ID="pnlEmailArticle" runat="server" BackColor="White" Height="450px" Width="520px" >
<div id="emailArticle" class="EmailArticleForm">
<div id="closeEmailArticle" class="commentClose">
<asp:ImageButton ID="imgBtnCloseEmailPopup" runat="server" ImageUrl="~/images/close.png" onclick="imgBtnCloseEmailPopup_Click" CausesValidation="False" />
</div>
<!-- Email Form -->
<asp:Panel ID="pnlEmailArticleForm" runat="server" Visible="true">
</asp:Panel>
<!-- Email Form -->
</div>
</asp:Panel>
</div>
HTML中的链接按钮代码
<!-- Article Details Section footer -->
<div id="divArticleDetailsFooter" class="divArticleDetailsFooter">
<div id="divlblComment" class="imgTArticleDetailsFooter">
<asp:Image ID="imgComment" runat="server" ImageUrl="~/images/comment.png" />
<asp:LinkButton ID="lnkBtnComment" runat="server" onclick="lnkBtnComment_Click"
CssClass="divArticleDetailsFooterLabels" CausesValidation="False" >Comment</asp:LinkButton>
</div>
<div id="divlblEmail" class="imgTArticleDetailsFooter">
<asp:Image ID="imgEmail" runat="server" ImageUrl="~/images/email.png" />
<asp:LinkButton ID="lnkBtnEmail" runat="server"
CssClass="divArticleDetailsFooterLabels" CausesValidation="False" >Email</asp:LinkButton>
</div>
<div id="divlblDownload" class="imgTArticleDetailsFooter">
<asp:Image ID="imgDownload" runat="server" ImageUrl="~/images/download.png" />
<asp:LinkButton ID="lnkBtnDownload" runat="server"
CssClass="divArticleDetailsFooterLabels" CausesValidation="False" >Download</asp:LinkButton>
</div>
<div id="divlblPrint" class="imgTArticleDetailsFooter">
<asp:Image ID="imgPrint" runat="server" ImageUrl="~/images/print.png" />
<asp:LinkButton ID="lnkBtnPrint" runat="server" OnClientClick="CallPrint()"
CssClass="divArticleDetailsFooterLabels" CausesValidation="False" >Print</asp:LinkButton>
</div>
</div>
<!-- Article Details Section footer -->
代码背后的代码
protected void lnkBtnComment_Click(object sender, EventArgs e)
{
this.mpShowCommentPopUp.Show();
}
protected void imgBtnClose_Click(object sender, ImageClickEventArgs e)
{
this.mpShowCommentPopUp.Hide();
}
protected void imgBtnCloseEmailPopup_Click(object sender, ImageClickEventArgs e)
{
this.mpShowEmailArticlePopup.Show();
}
语句return false;
应用于防止锚点(链接)等元素的默认行为。当您在同样具有href属性的A标记上定义了onclick时,如果onclick代码没有明确返回false,则浏览器将继续执行href部分。
因此,我的猜测是,您的onclick处理程序启动了一个回发(因为它们是LinkButtons),可能正在服务器上执行其onclick事件,该事件旨在重定向到另一个页面(或其他一些通常执行的代码,您可以通过逐步了解这些代码)。
所以,尝试一下:将return false
添加到您的CallPrint
中。
相关文章:
- 客户端和服务器端调用 asp 按钮的问题
- asp:按钮和javascript弹出窗口
- OnClientClick没有'无法使用asp按钮
- 添加JavaScript onClick以动态生成asp按钮
- 在asp按钮控件上运行C#和Javascript函数
- 为什么asp按钮的java脚本click()函数在chrome浏览器中不起作用
- 有没有可能的方法可以在一次ASP按钮单击中同时显示JavaScript和服务器端代码中的消息
- 如何使用asp按钮保存tinymce
- 如何在网格视图中查询asp按钮文本以查看是否有任何文本值
- ASP 按钮 ID 在 JavaScript 中找不到“findbyelementID”
- 如何使用 jquery 或 javascript 切换网格视图模板化的 asp 按钮文本
- 在 Javascript 的客户端提交时验证 asp 按钮
- 在单击 HTML 按钮时取消隐藏 ASP 按钮
- ASP:按钮的更新进度
- 如何将asp按钮添加到动态生成的控件中
- 使用ASP按钮调用VB方法,然后调用Javascript函数'单击'
- 使asp按钮拖放
- 当asp:按钮在手风琴窗格中时,无法显示DIV
- 如何在使用JQuery显示弹出窗口时防止在asp按钮上回发
- ASP页面窗体操作不允许ASP按钮单击启动