javascript - 动态 js 文件的标准解决方法是什么

标签 javascript asp.net asp.net-mvc

ASP.NET 中是否有针对此类问题的标准解决方法:

//myinclude.js
$(document).ready(function() {
    for(recs=0; recs < {{server-side-value}}; recs++) {
        // process records
    }
});

注意这是一个js文件。我知道 WinForms 能够将动态引用的脚本插入到页面中。但是页面的 js 文件依赖于服务器端的值呢?我知道你可以使用类似的东西:

//myview.cshtml    
var instance = new MyObject(<%= ServerSideValue =%>);

并将其包含在页面上以将其传递给 js 文件,但我想知道将 js 与 html 代码分开的架构,以便 html/css 设计者可以使用无需 JavaScript 的模板;将一切分开。我现在主要使用 MVC。

有哪些模式可以处理这个问题?唯一的解决方案是动态地将js插入到实际页面中还是将部分 View 单独包含到页面中?或者有没有办法将服务器端值分散在单独的js中?简而言之,没有动态js文件?

我现在并不想修复一个确切的项目,我只是对过去的项目感到好奇。

谢谢...

最佳答案

有多种方法可以实现这一目标。其中一种方法是将数据直接填充到 HTML 页面上的 Javascript 对象中。

//myview.cshtml    

<script>
  var pageData = {
    name : '@variable1',
    value1: @value1
  }; 
</script>

并且,在 JavaScript 文件中:

//pageUI.js
if (pageData) {
  $('#page_tile').html(pageData.name);
}

我相信您可以优化很多(例如,在服务器端数据和客户端代码之间进行单一通信)。归根结底,您希望确保您的 JavaScript 代码可以重复使用。

关于javascript - 动态 js 文件的标准解决方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30461532/

相关文章:

javascript - 如何将额外的属性添加到 bootstrapTable 中

javascript - 如何在 ember-cli 中使用 New Relic?

asp.net - 我如何在asp.net中创建ul,li,a等html标签

c# - 如何在不在 MVC Controller 中抛出异常的情况下向 $.ajax 报告错误?

css - ASP.NET MVC - 基于 Controller 的样式列表项

javascript - var notification = 新通知

JavaScript 在 Mac 和 PC 上表现不同?我知道不应该

c# - Linq 到实体查询

c# - EF 可选一对一内部

jquery - Kendo Grid 滚动到选定的行