很简单,您不能在 javascript 中编写 C# - javascript 是在客户端执行的脚本语言,而 C# 是在服务器上运行的编译代码。
如果您使用的是 ASP.NET,您可以将 javascript 输出到您的页面,这是一个非常简单的示例:
void WebForm1_PreRender(object sender, EventArgs e)
{
if (!ClientScript.IsClientScriptBlockRegistered("MyScript"))
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("var myArray = new Array();");
sb.AppendLine("myArray[0] = 'some value';");
sb.AppendLine("myArray[1] = 'another value';");
sb.AppendLine("myArray[2] = 'yet another value';");
ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", sb.ToString(), true);
}
}
然后您可以在客户端访问和迭代这个 javascript 数组:
<script language="javascript">
//first do basic check that the array is available:
if (typeof(myArray) != 'undefined' && myArray != null) {
alert(myArray[0]);
}
</script>
从这里获取预填充列表并创建 javascript 列表是一个简单的过程:
void WebForm1_PreRender(object sender, EventArgs e)
{
List<string> list = new List<string>(new[] { "Foo", "Bar", "Tord", "Bob" });
if (!ClientScript.IsClientScriptBlockRegistered("MyScript"))
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("var myArray = new Array();");
for (int i = 0; i < list.Count; i++)
sb.AppendLine(string.Format("myArray[{0}] = '{1}';", i, list[i]));
ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", sb.ToString(), true);
}
}