Изображения 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'