2012-07-31 44 views
0

我正在工作在asp.net网络形式的项目,迄今为止工作正常fancybox一旦用户点击链接它显示一个窗体为fancybox弹出窗口。但同样不工作时,当我实现URL路由,路由工作良好的图像显示,CSS的作品,但它一些如何阻止fancybox弹出并在选项卡中显示相同的形式,而不是作为传统fancyboxASP.Net URL路由4.0以某种方式停止fancybox工作后,我实现URL路由

我试图改变fancybox script文件的路径,但它不起作用。其中有一个注册链接显示简单的asp.net web的表单中fancybox弹出页面

Sample link without URL Routing

相同的代码。

我正在使用函数重新初始化脚本,因为我在页面的一部分也使用更新面板。我试过甚至删除了重新初始化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

我解决了这个问题,因为它无法从母版页访问jquery文件。使用Page.ResolveUrl更正了这个问题 – Learning 2012-07-31 05:59:23

回答

0

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