Как поместить статический HTML в строку C #? - PullRequest
1 голос
/ 29 июня 2011

Нужно ли мне пройти через все это (см. Ниже) и заставить его убежать, чтобы поместить это в строку? (используя c #, vs 2010, консольное приложение)

<link rel="stylesheet" href="_layouts/jquery/global.css">
<script type="text/javascript" src="_layouts/jQuery/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="_layouts/jQuery/slides.min.jquery.js"></script>
<script>
    $(function(){
        $('#slides').slides({
            preload: true,
            preloadImage: 'img/loading.gif',
            play: 5000,
            pause: 2500,
            hoverPause: true,
            animationStart: function(current){
                $('.caption').animate({
                    bottom:-50
                },100);
                if (window.console && console.log) {
                    // example return of current slide number
                    console.log('animationStart on slide: ', current);
                };
            },
            animationComplete: function(current){
                $('.caption').animate({
                    bottom:0
                },200);
                if (window.console && console.log) {
                    // example return of current slide number
                    console.log('animationComplete on slide: ', current);
                };
            },
            slidesLoaded: function() {
                $('.caption').animate({
                    bottom:0
                },200);
            }
        });
    });
</script>

    <div id="container">
        <div id="example">
            <img src="img/new-ribbon.png" width="112" height="112" alt="New Ribbon" id="ribbon">
            <div id="slides">
                <div class="slides_container">

Ответы [ 7 ]

5 голосов
/ 29 июня 2011

Если у вас есть большой объем текста, который вы хотите поместить в строку, я бы не стал вводить его в исходный код.Либо включите его в файл, который вы можете загрузить с диска, либо включите его во встроенный ресурс и загрузите его с Assembly.GetManifestResourceStream.Таким образом, он не нуждается в экранировании, вы можете использовать подсветку синтаксиса в вашем любимом редакторе, и ваш код C # остается заполненным C #, а не HTML.

3 голосов
/ 29 июня 2011

Для такого большого объема текста я бы не стал цитировать его непосредственно в коде. Я хотел бы добавить это как связанный ресурс или встроенный ресурс и прочитать его оттуда.

2 голосов
/ 29 июня 2011

Полагаю, очевидный вопрос: зачем вам все это помещать в строку?Если вы хотите, чтобы javascript был условно включен в страницу, лучше сохранить его в отдельном файле, а затем добавить этот сценарий на страницу, используя менеджер клиентских сценариев, т.е.

ClientScriptManager cs = Page.ClientScript;
if (!cs.IsClientScriptIncludeRegistered(cstype, csname))
{
    cs.RegisterClientScriptInclude(cstype, csname, ResolveClientUrl(csurl));
}
0 голосов
/ 29 июня 2011

Вы должны были бы избежать этого, чтобы иметь это непосредственно в файле C #. Почему бы не сохранить его во внешнем файле и вместо этого прочитать его в строку? Просто используйте StreamReader или что-то в этом роде.

0 голосов
/ 29 июня 2011

Альтернативный способ: Поместите его в файл ресурсов, если что-то изменилось, вам не нужно снова его избегать.

0 голосов
/ 29 июня 2011

Да, вы правы, вам нужно избегать каждой кавычки в строке.

Но делать такую ​​вещь, как построение всей страницы в коде, очень плохо.Не делай этого.

0 голосов
/ 29 июня 2011

Да, вам нужно будет избежать всего, чтобы поместить это в строку. Также вы можете использовать StringBuilder для построения вашей строки по одной строке кода за раз. Вам все равно придется экранировать символы, такие как «». Лучший вариант - сохранить это как внешний ресурс в вашем приложении. Веселитесь.

...