2011-06-29 44 views
1

我需要經歷整個事情(見下文),並使其逃避爲了把這個字符串? (使用c#,vs 2010,控制檯應用程序)如何把靜態html放在c#的字符串中?

<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"> 
+1

嘗試'逐字string'一次(@「串」),看看作品 – Rahul

+0

@Rahul - 將無法逃脫雙引號。 –

+0

@George,True;我不確定;只是檢查,是的它不工作 – Rahul

回答

5

如果你有,你想要把字符串中的大量文本,我不會硬編碼到源代碼開始。將它包含在可從磁盤加載的文件中,或將其包含在嵌入式資源中並使用Assembly.GetManifestResourceStream加載。這樣它不需要轉義,你可以在你最喜歡的編輯器中使用語法高亮顯示,並且你的C#代碼保持填充C#而不是HTML。

+0

@Jon:其實,我正在動態地追加一堆div,這就是爲什麼我要確保他們都在一起。 –

+0

@Amber:它仍然聽起來像是在文本文件中比在C#中更好。您可以一次加載文件*,並將內容存儲在一堆靜態只讀變量中,當然。 –

+0

@Jon:現在我必須考慮三次了,我想我會使用Resource。我有3個部分將進入一個文本文件。第一部分(上面的代碼在我的原始文章,靜態HTML),然後我需要創建一堆的HTML與C#代碼,然後第三件(靜態HTML)。是否有可能爲靜態html創建2資源文件?如果是的話,那麼我將如何做到這一點,並最終把所有這些都放到一個文本文件中。 –

0

是的,你需要爲了把這個字符串裏面什麼都逃不過。有一件事你也可以使用StringBuilder來一次構建你的字符串的一行代碼。你仍然將不得不逃離像「「」字符。最好的選擇想到會保持這個作爲你的應用程序的外部資源。玩得開心。

0

是你的權利,你需要逃避每個引號字符串中。

但在做這樣的事情在後面的代碼構建整個頁面是非常糟糕的事情 不要做

0

的另一種方法:。 把它放在資源文件,如果有什麼變化你不「T需要再次逃脫它。

2

我想最明顯的問題是,W你想把所有的東西放在一個字符串中嗎?如果你想的JavaScript有條件地包括在你的頁面會更好將其存儲在一個單獨的文件,然後將該腳本添加到使用客戶端腳本管理器頁面,即

ClientScriptManager cs = Page.ClientScript; 
if (!cs.IsClientScriptIncludeRegistered(cstype, csname)) 
{ 
    cs.RegisterClientScriptInclude(cstype, csname, ResolveClientUrl(csurl)); 
} 
+0

+1添加好信息。這不是問題的答案,但它是相關信息,也許是OP應該做的。 – Bazzz

0

你將不得不逃離這直接在C#文件中。爲什麼不將它存儲爲外部文件並將其讀入字符串呢?只需使用StreamReader或類似的東西。

相關問題