将 C# 代码插入 (.js)javascript 文件中

Insert C# code into (.js)javascript file

本文关键字:javascript 文件 js 代码 插入      更新时间:2023-09-26

在 asp.net mvc 3应用程序中,我有两个视图,它们具有相同的JavaScript函数集。Javascript是相同的,所以我想重新组织这段代码并将所有javascript代码提取到.js文件中,以便将其包含在两个chtml文件中。

问题在于,其中一个javascript函数使用C#代码从模型中获取一些数据。如何将 C# 代码插入 javascript(.js) 文件,或者如何将所有这些代码提取到单独的 chtml 文件中并将其包含在前一个文件中?

你不能原生,或者至少你不应该。出于维护和性能原因。

相反,您应该重新设计您的 javascript 以使用参数化方法,并从您的视图中初始化自定义值。

像jQuery一样思考。许多插件是可用的,标准化的,但它们在使用它们的页面上使用特定值进行初始化。

如果你的javascript包含不同的数据,那么它就不相同了。

我会将相同的功能提取到.js文件中,然后在页面中生成.js可以使用的 JavaScript 数据块,或者重构为返回 JSON 的服务。

您可以使用分部视图来编写 <script> 标记并从两个页面调用它。如果您认为 HTML 帮助程序更合适,也可以使用它。

但是,我也不推荐。

一种选择是找到一种方法将更改的值放在页面上(可能作为 html5 data- 属性),然后为您的 JavaScript 代码使用外部.js文件,该文件不受 C# 操作,而是从 HTML 本身获取数据。

另一个(不太漂亮)的选择是让每个页面在 <script> 标签中设置一系列 JS 变量,然后在外部 .js 文件中使用它们。