asp.net - 在 JavaScript 代码中嵌入常量服务器端标签的最佳方法是什么?

标签 asp.net javascript asp.net-mvc iis

我有一堆 JavaScript 函数,它们依赖于一些服务器端常量(例如资源文件中的字符串)。当我开发它们时,我将 javascript 代码保留在 View header 中,因此我可以简单地在 javascript 代码中使用服务器端标记,但现在我想将 javascript 函数移动到单独的文件中。

我无法使用常规的 js 文件,因为服务器不会解释它,从而使嵌入其中的服务器标签毫无用处。我也不想在页面中定义变量,因为这看起来很尴尬且容易出错。

我所做的是创建一个新的 aspx 文件,将 javascript 函数放在那里,并在我的主模板中包含该 aspx 文件而不是常规的 js 文件。看起来有点不正统,但似乎效果很好。

我的方法是否有任何我没有考虑到的缺点?或者有更好的(不那么晦涩的)方法吗?

编辑额外问题:我应该在包含的脚本文件中使用 DOCTYPE 吗?毕竟,脚本文件已经包含在脚本标签中。我尝试模仿常规 js 文件,因此没有指定任何 DOCTYPE。

最佳答案

文件扩展名,无论是 js、aspx、ashx、bla、foo,无论什么都不是那么重要。如果服务器端生成的 javascript 不特定于页面,那么创建一个 ASPX 页面来呈现 javascript 应该没问题。

我们经常使用 HTTP 处理程序在我们的系统中生成动态 javascript。我们还确保将响应 header 设置为 text/javascript,以便让客户端浏览器知道我们正在发回 javascript。

关于asp.net - 在 JavaScript 代码中嵌入常量服务器端标签的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1295180/

相关文章:

javascript - 从ajax返回的数据对象中读取多个变量

asp.net-mvc - ActionName 的目的

asp.net - 如何在部署时加密(连接字符串)webconfig?出于安全原因

c# - 删除选中的父节点和子节点——集合被修改;枚举操作可能无法执行

javascript - 将VueJS与Axios一起使用后响应数据消失

html - 如何将数据属性添加到 Html.BeginForm

asp.net - ASP.NET 4中.skin文件中的Intellisense

.net - ASP.NET 从 NTLM 身份验证表单获取用户名和密码

javascript - 动态嵌套对象循环js

javascript - 将 jQuery 缩放效果与翻杂志的 Javascript 集成