我正在使用asp.net web-form项目,到目前为止用fancybox
工作正常,一旦用户点击链接,它就会显示一个表格作为fancybox popup。但是当我实现URL路由时,同样不起作用,路由工作精细图像显示,css工作,但它有些如何阻止fancybox弹出窗口并在选项卡中显示相同的表单而不是传统的fancybox
我尝试更改fancybox script
文件的路径,但它不起作用。
Sample link without URL Routing
具有Register链接的页面的相同代码,用于在fancybox
弹出窗口中显示简单的asp.net web-form。
我正在使用函数来重新初始化脚本,因为我在页面的一部分也使用了更新面板。我甚至尝试删除重新初始化fancybox
的脚本部分,但它仍然不起作用我也使用ResolveClientUrl
,如某些文章中所建议的那样也不起作用。
我很感激这方面的帮助
示例代码
<script src='<%=ResolveClientUrl("~/fancybox/jquery.fancybox-1.3.4.js")%>' type="text/javascript"></script>
<script src="../fancybox/jquery.fancybox-1.3.4.pack.js" type="text/javascript"></script>
<link href="../fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
//Code to Reinitialize Fancybox script when using update panel START
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
function InitializeRequest(sender, args) { }
function EndRequest(sender, args) { InitMyFancyBox(); }
$(document).ready(function () {
InitMyFancyBox();
});
//Code to Reinitialize Fancybox script when using update panel END
function InitMyFancyBox() {
//Code for Fancybox Star
$(document).ready(function () {
$("a.iiframe").fancybox({
'scrolling': 'no',
'width': 700,
'height': 450,
'autoScale': false,
'transitionIn': 'none',
'transitionOut': 'none',
'hideOnOverlayClick': false,
'hideOnContentClick': false,
'type': 'iframe'
});
});
//Code for Fancybox End
}
</script>
链接的HTML
<asp:Panel ID="pnlRegForm" runat="server" CssClass="ActivitiesDDetails" Visible="false">
<asp:HyperLink ID="hylRegister" runat="server" CssClass="iiframe">Register Now!</asp:HyperLink>
</asp:Panel>
代码隐藏
pnlRegForm.Visible = true;
hylRegister.NavigateUrl = "ActivityRegistration.aspx?EventID=123&Activity=33&Language=" + Helper.GetQueryStringValue("Language");
文件夹结构 这是一个多语言网站,我将语言相关页面保存在不同的文件夹中,如英语,阿拉伯语,西班牙语等
/
/fancybox
/english
/english/Activity.aspx (Lists all activities with link as SEO Friendly links)
/english/ActivityDetails.aspx (Shows activity details & link for the fancybox popup)
/english/ActivityRegistration.aspx (Web form to be shown as popup)
/Spanish
/arabic
/css
/someotherfolders
如果我不使用URL路由,一切正常工作,实现URL路由它会停止fancybox我不知道如何解决它,因为我也尝试更改脚本路径。我很感激这方面的帮助
答案 0 :(得分:0)
我解决了这个问题,因为它无法从母版页访问jquery文件。使用Page.ResolveUrl
更正了路径