65.9K
CodeProject 正在变化。 阅读更多。
Home

客户端脚本助手

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.36/5 (12投票s)

2004 年 6 月 17 日

2分钟阅读

viewsIcon

30429

downloadIcon

392

该类帮助在 .NET 代码中编写客户端脚本。

引言

本文中介绍的类可以帮助在 .NET 代码中编写客户端脚本。

背景

有时你需要在你的代码中编写 JavaScript。 我当时做的项目涉及在许多页面上的 .NET 代码中编写 JavaScript。 以前,我使用 string 对象来创建脚本,如下所示:

string script = "<script lanugage=\"JavaScript\">";
script+= "alert('Hello world');";
script+= "</script>";

RegisterClientScriptBlock("myscript", script);

因此,我开发的这个类非常简单,但有助于使代码更简洁一点,并且它使用了 StringBuilder,这在连接字符串时更好。 请注意,我们总是必须开始脚本 (<script lanugage= "Javascript">) 并结束脚本 (</script>),在键入代码时我们可能会犯错误。 使用此类,您不必在脚本中键入上述标签。

使用代码

以下是使用我开发的类的示例。

// include the following namespace in your class where you'll use it 

using vs.helpers;

ScriptHelper js = new ScriptHelper();

// another constructor ScriptHelper(string language) e.g ScriptHelper("VBScript") 

js.Add("alert('Hello world');");
js.Add("alert('This is an example');");
js.End(); // adds the </script> tag to the script


RegisterClientScriptBlock("myscript", js.ToString());

请注意,您不必开始或结束 <script> 标签。 如前所述,ScriptHelper 使用 StringBuilder 来连接字符串,这在性能方面更好。 脚本的默认语言是 JavaScript,但您可以在构造 ScriptHelper 对象时通过调用将一个参数作为 string 的构造函数来更改语言,这使您可以指定脚本的语言。 代码中包含 Visual Studio 2002(1.0 框架)的 DLL。 如果有人想在 1.1 中使用该代码,他们可以在 VS 2003 中重新编译 ScriptHelper 类。 抱歉,我只有 VS 2002 :)。

关注点

今天,在撰写本文时,我想到为什么不在 Add 方法中使用 JavaScript 解释器。 这样,每当您使用 Add 方法添加脚本时,它可以检查您是否添加了有效的 JavaScript。 因此,您不必在浏览器中运行脚本以找出它在语法或语义上是否正确。 它可以检查编译时而不是运行和修复。 如果您有任何改进建议,请告诉我。

© . All rights reserved.