Изображения Facebox не отображаются при использовании asp.net ClientScript

Я использую FaceBox в проекте ASP.net. Он прекрасно работает, когда я вызываю его из жестко закодированного блока скриптов на странице 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 в жестко закодированном блоке скрипта. Ничего не работает

Кто-нибудь знает правильный синтаксис для установки параметров изображения?

Спасибо!

2 ответа

Решение

Благодаря 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>")

Пытаться

<%="~/CSS/FaceBox/Images/loading.gif"%> instead of '../../CSS/FaceBox/Images/closelabel.png' 
Другие вопросы по тегам