我是否需要完成整个事情(见下文)并将其转换为将其放入字符串中? (使用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">
答案 0 :(得分:5)
如果你有大量的文本要放在一个字符串中,我就不会硬编码到源代码中。将其包含在可以从磁盘加载的文件中,或者将其包含在嵌入式资源中并使用Assembly.GetManifestResourceStream
加载它。这样就不需要转义,你可以在你喜欢的编辑器中使用语法高亮,而你的C#代码仍然用C#而不是HTML。
答案 1 :(得分:3)
对于这么大的文本,我不会直接在代码中引用它。我会考虑将其添加为linked resource或embedded resource并从那里读取。
答案 2 :(得分:2)
我猜这个显而易见的问题是,你为什么要把所有内容都放到一个字符串中呢?如果您希望javascript有条件地包含在页面中,最好将其存储在单独的文件中,然后使用客户端脚本管理器将该脚本添加到页面中,即
ClientScriptManager cs = Page.ClientScript;
if (!cs.IsClientScriptIncludeRegistered(cstype, csname))
{
cs.RegisterClientScriptInclude(cstype, csname, ResolveClientUrl(csurl));
}
答案 3 :(得分:0)
是的,您需要转义所有内容才能将其放入字符串中。您还可以使用的一件事是StringBuilder一次构建一行代码。你仍然需要转义像'''这样的字符。最好的选择是将它作为你应用程序中的外部资源保留。玩得开心。
答案 4 :(得分:0)
是的,你是对的,你需要转义字符串中的每个引号。
但是在后面的代码中构建整个页面这样的事情是非常糟糕的事情。 不要这样做。
答案 5 :(得分:0)
另一种方式: 把它放在资源文件中,如果有什么变化,你不需要再次转义它。
答案 6 :(得分:0)
您必须将其转义为直接在C#文件中。为什么不将它存储为外部文件并将其读入字符串呢?只需使用StreamReader或类似的东西。