C# 何时从代码隐藏中选择Javascript注入而不是外部js文件

C# 何时从代码隐藏中选择Javascript注入而不是外部js文件,c#,javascript,.net,asp.net,webforms,C#,Javascript,.net,Asp.net,Webforms,我正在开发一个C#web应用程序,需要处理一些javascript代码 我可以使用.cs文件中的javascript注入来完成这两项工作,我现在正在做这项工作,也可以选择将代码包含到外部js文件中 我想知道你什么时候愿意选择一种方式而不是另一种 据我所知,将代码放在外部的.js文件中可以更清晰,并且可以简化调试。 然而,来自代码隐藏的代码注入将为我的组件保留所有必要的代码 能告诉我你的想法吗 谢谢 帕特。你把它搞定了帕特,用你可以选择是否有代码隐藏文件的方式来看待它。ASP.NET具有足够的灵活

我正在开发一个C#web应用程序,需要处理一些javascript代码

我可以使用.cs文件中的javascript注入来完成这两项工作,我现在正在做这项工作,也可以选择将代码包含到外部js文件中

我想知道你什么时候愿意选择一种方式而不是另一种

据我所知,将代码放在外部的.js文件中可以更清晰,并且可以简化调试。 然而,来自代码隐藏的代码注入将为我的组件保留所有必要的代码

能告诉我你的想法吗

谢谢


帕特。

你把它搞定了帕特,用你可以选择是否有代码隐藏文件的方式来看待它。ASP.NET具有足够的灵活性,允许您选择在哪里编写代码,但最终会选择最适合您的方式

一般来说,最佳实践是将代码与UI分离,分离成更易于管理的组件。将JS隔离到一个单独的文件中也会带来其他好处。例如,本地js文件可以通过ClientScriptManager中的CompositeScript引用拉入页面加载,甚至可以通过CodePlex和其他网站上的第三方项目进行文件压缩

如果可以,将文件分开,你会很高兴你在将来这样做。

问题1:你需要动态生成JS吗

是-从codebehind注入 否-外部文件

问题#2:在几个项目中可能使用的用户控件中的用法是否相同

是-可能是注入,更可能是标记或具有已知相对路径或共享绝对路径的外部文件。 没有-肯定是外部代码


如果动态生成基本上是在代码中动态生成标识符或数字,则可以内联一些ASP标记以在标记中完成工作。简而言之,动态JS应该在您需要的时候发生,因为您无法以任何其他方式进行。确保动态JS工作是一个两层过程;确保ASP.NET代码创建了您期望的JS,然后确保您期望的JS实际按照您的期望工作。

谢谢ewitkows,这对我有帮助!我将充分利用ASP.NET的灵活性。当你谈论从UI中分离代码时,是因为你考虑了UI层的JS代码部分,因为它驱动了一些UI项目的行为吗?谢谢Keists,这帮助了我!我将从你提出的条件来看情况。我也同意您提到的两步验证过程,即确保我的JS按预期工作。我就是这么做的。