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

C#或VB.NET代码中的JavaScript注册

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2007 年 12 月 7 日

CPOL

2分钟阅读

viewsIcon

35218

downloadIcon

330

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

Screenshot -

引言

现在,我们在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日 - 发布原始版本
© . All rights reserved.