C#或VB.NET代码中的JavaScript注册
在VB.NET或C#代码中内联JavaScript代码遇到的问题

引言
现在,我们在Web应用程序中越来越多地使用JavaScript。 通常,我们将外部JavaScript库的链接插入到ASPX代码中,或者只是将一些JavaScript代码放在<script>
标签之间。 但是,由于某种原因(动态访问它或其他重要情况),我们需要代码隐藏中的JavaScript(VB.NET或C#)。 这就是痛苦开始的地方。 那些尝试过的人完全理解我。 您将整洁的JavaScript代码放入漂亮的VB.NET或C#代码中,并开始用引号将其包围,将其加倍并寻找要转义的符号,直到所有这些都变成您不想再看的可怕混合物。 最糟糕的是,由于JavaScript错误,您的应用程序不再有效。 看起来很熟悉,不是吗?
我一直在努力寻找一种实用程序,可以为我完成所有这些工作,并减轻我的痛苦。 但是,似乎在广阔的互联网空间中根本不存在这样的东西,或者只是我的运气不好。 因此,我决定自己创建一个。 此外,这看起来并不是一项非常艰巨的任务。
Using the Code
此实用程序根据您喜欢的语言(VB.NET或C#)格式化您的JavaScript代码。 您所需要做的就是创建一个包含JavaScript代码的文本文件,选择一种输出语言,然后单击一个按钮。 在输出中,您将获得一个代码段,您可以将其插入到页面加载方法中。 由<script>
标签包围的JavaScript代码现在包含在字符串变量中,并通过ClientScript.RegisterStartupScript
方法在页面上注册。 为了您的方便,所有生成的代码都可以复制到剪贴板中。
关注点
为了完成这项工作,使用了Streamreader
类来读取文本文件
Dim objReader As StreamReader
Try
objReader = New StreamReader(txtFile.Text)
strContents = objReader.ReadToEnd()
objReader.Close()
Catch Ex As Exception
MessageBox.Show(Ex.Message)
End Try
然后,StringBuilder
类方法执行所有需要的操作来保存和转换字符串,例如处理文本中取决于输出语言的引号,构造有效的VB或C#语句等等。
str(i) = str(i).Replace("""", """""")
str(i) = str(i).TrimEnd(Chr(13))
If vb Then
sb.Append("sb.Append(""")
Else
sb.Append("sb.Append(@""")
End If
sb.Append(str(i))
sb.Append(""")")
If Not vb Then
sb.Append(";")
End If
为了将生成的代码段复制到剪贴板中,我使用了Clipboard
类
Clipboard.Clear()
If txtResult.Text.Trim.Length > 0 Then
Clipboard.SetText(txtResult.Text)
End If
基本上就是这样。 您看,创建该实用程序并不难,希望它可以节省您宝贵的时间。 让我们做一些比格式化JavaScript并在我们的代码中使用更有趣,更不无聊的事情!
历史
- 2007年12月3日 - 发布原始版本