母版页中的灯箱问题

时间:2009-11-16 12:30:41

标签: asp.net jquery

我在网站上使用LightBox v2.0.4和母版页,我遇到了loading.gif和closelabel.gif图像的问题。 在lightbox.js中,每当我运行程序时,它都会在此行中出错

 fileLoadingImage:       
'images/loading.gif',     
 fileBottomNavCloseImage: 'images/closelabel.gif',

但是如果运行上面的应用程序而没有使用母版页,那么每件事情都可以正常工作。 每当我们使用Master页面实现时,都会出现javascript错误。 有没有人有这种错误?你是怎么解决的?

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

实际错误是什么?没有它,我们情不自禁。

作为第一步,使用Firebug或类似程序调试页面 - 例如,这将显示指定的图像路径是否无效(您将在网络控制台中获得404)。

答案 1 :(得分:0)

肯定是路径问题。

页面是否使用母版页在不同的目录中哪个可能有效?

这对我有用。由于javascript是在后面的代码中生成的,因此可以使用波浪符号来解析正确的路径。

检查http://www.zedesigns.com/Showroom.aspx以查看其实际效果。

 protected void InsertLightbox()
    {
        if (!Page.ClientScript.IsClientScriptIncludeRegistered("jquery-latest.pack.js"))
            Page.ClientScript.RegisterClientScriptInclude("jquery-latest.pack.js", "http://code.jquery.com/jquery-latest.pack.js");

        if (!Page.ClientScript.IsClientScriptIncludeRegistered("jquery.lightbox.js"))
            Page.ClientScript.RegisterClientScriptInclude("jquery.lightbox.js", System.Web.VirtualPathUtility.ToAbsolute("~/js/jquery.lightbox.js"));

        if (!Page.ClientScript.IsClientScriptBlockRegistered("lightbox"))
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.AppendLine("$(document).ready(function(){");
            sb.AppendFormat("$('.lightbox').lightbox( {{fileLoadingImage:'{0}',fileBottomNavCloseImage:'{1}',fitToScreen:true}} );", Page.ResolveClientUrl("~/images/lightbox/loading.gif"), Page.ResolveClientUrl("~/images/lightbox/closelabel.gif"));
            sb.AppendLine("});");
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "lightbox", sb.ToString(), true);
        }

        Helpers.Page.AddStyleSheet(this, "~/styles/lightbox.css", "screen");
    }