Изображения Facebox не отображаются при использовании asp.net ClientScript - PullRequest
0 голосов
/ 25 марта 2011

Я использую 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 ]

0 голосов
/ 07 апреля 2011

Благодаря 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>")
0 голосов
/ 25 марта 2011

Попробуйте

<%="~/CSS/FaceBox/Images/loading.gif"%> instead of '../../CSS/FaceBox/Images/closelabel.png' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...