0

我在 ASP.net 项目中使用 FaceBox。当我从 ASPX 页面中的硬编码脚本块调用它时,它工作得很好,如下所示:

<script type="text/javascript">

    jQuery(document).ready(function($) {
        $('a[rel*=facebox]').facebox({
            loadingImage: '../../CSS/FaceBox/Images/loading.gif',
            closeImage: '../../CSS/FaceBox/Images/closelabel.png'
        })
    });
</script>

但是,当我将该代码移到后面的代码中以便我可以首先执行一些服务器端代码时,该框打开很好,但不再显示图像(而是显示丢失的图像图标。单击该图标确实有效。)。这是我正在使用的代码:

Dim sbClientScript As System.Text.StringBuilder = New System.Text.StringBuilder()

sbClientScript.AppendLine("<script type='text/javascript'>")
sbClientScript.AppendLine("  jQuery.facebox({                                                   ")
sbClientScript.AppendLine("      ajax: 'EditQuestion.aspx',                                     ")
sbClientScript.AppendLine("      loadingImage: '../../CSS/FaceBox/Images/loading.gif',          ")
sbClientScript.AppendLine("      closeImage: '../../CSS/FaceBox/Images/closelabel.png'          ")
sbClientScript.AppendLine("    });                                                              ")
sbClientScript.AppendLine("</script>")

    If Not Page.ClientScript.IsStartupScriptRegistered("skFacebox") Then
        Page.ClientScript.RegisterStartupScript(Me.GetType(), "skFacebox", sbClientScript.ToString())
    End If

我试过改变参数的顺序(把“ajax”放在最后)。我试过把东西分成不同的功能。我尝试在硬编码脚本块中设置 loadingImage 和 closeImage 。没有任何工作。

有人知道设置图像参数的正确语法吗?

谢谢!

4

2 回答 2

0

尝试

<%="~/CSS/FaceBox/Images/loading.gif"%> instead of '../../CSS/FaceBox/Images/closelabel.png' 
于 2011-03-25T13:27:40.063 回答
0

感谢 Firebug 和一些反复试验,我想出了正确的语法和顺序:

sbClientScript.AppendLine("jQuery.facebox.settings.loadingImage = '../../CSS/FaceBox/Images/loading.gif',")
sbClientScript.AppendLine("jQuery.facebox.settings.closeImage = '../../CSS/FaceBox/Images/closelabel.png'")
sbClientScript.AppendLine("<script type='text/javascript'>")
sbClientScript.AppendLine("  jQuery.facebox({")
sbClientScript.AppendLine("      ajax: 'EditQuestion.aspx'")
sbClientScript.AppendLine("    });")
sbClientScript.AppendLine("</script>")
于 2011-04-07T18:29:03.433 回答