【发布时间】:2009-05-20 18:47:38
【问题描述】:
使用 C# 进行 ASP.NET 和 MOSS 开发,我们经常需要将 JavaScript 嵌入到 C# 代码中。为了做到这一点,似乎有两种流行的思想流派:
string blah = "asdf";
StringBuilder someJavaScript = new StringBuilder();
someJavaScript.Append("<script language='JavaScript' >");
someJavaScript.Append("function foo()\n");
someJavaScript.Append("{\n");
someJavaScript.Append(" var bar = '{0}';\n", blah);
someJavaScript.Append("}\n");
someJavaScript.Append("</script>");
另一个学派是这样的:
string blah = "asdf";
string someJavaScript = @"
<script language='JavaScript' >
function foo()
{
var bar = '" + blah + @"';
}
</script>";
有没有比这两种方法更好的方法?我个人喜欢第二个,因为您可以看到 JavaScript 的整个部分(或其他语言块,无论是 SQL 还是其他语言),它还有助于在该特定语言的另一个编辑器之间复制代码。
编辑:
我应该提到,最终目标是在最终网页中格式化 JavaScript。
我还更改了示例以显示与生成的代码的交互。
【问题讨论】:
-
我也一直想问这个问题。虽然第二个看起来更干净,但接下来尝试动态命名控件......然后它变得更加丑陋,因为您必须使用 Control.ClientID
-
document.getElementById(""" + String.Format("{0}_{1}", base.ClientID, "foobar") + @""") ....跨度>
标签: c# javascript