0

我在asp.net web-form项目中工作,到目前为止,fancybox一旦用户单击链接,它就会将表单显示为fancybox弹出窗口。但是当我实现 URL 路由时同样不起作用,路由工作正常图像显示,css 工作但它有些如何阻止fancybox 弹出并在选项卡中显示相同的表单而不是传统的fancybox

我试图更改fancybox script文件的路径,但它不起作用。

没有 URL 路由的示例链接

页面的相同代码具有注册链接以在fancybox弹出窗口中显示简单的 asp.net 网络表单。

我正在使用函数重新初始化脚本,因为我也在页面的一部分中使用更新面板。我什至尝试删除重新初始化的脚本部分,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 路由已实现,它停止了幻想框我不知道如何修复它,因为我也尝试更改脚本路径。我将不胜感激这方面的帮助

4

1 回答 1

0

我解决了这个问题,因为它无法从母版页访问 jquery 文件。使用 Page.ResolveUrl 更正了路径

于 2012-07-31T06:00:02.390 回答