我正在构建一个MVC4应用程序,重点强调前端动态生成的内容。有问题的特定部分是一个页面,其中可变长度的网格占据了页面的约50%,右半部分填充了与网格上用户选择相关的详细信息部分。
每次点击都会运行一些ajax调用到服务器,运行一些LINQ查询到db,并抛回一些相关数据,这些数据传递给我的ajaxcallback函数来创建一些动态HTML,这里有一些伪代码:
onActiveRowChanged => $.ajax({ action: "Home/GridData", success: createGrid });
createGrid(obj) {
dataHTML += "<div class='something'>" + obj[0].ID + "</div>";
details.append(dataHTML);
}
我已经设法通过在网格项目中过快循环使用延迟来减少一些网络流量,但我担心这还不够。我们将在这个应用程序的实例上有很多用户整天...很多时候每个客户帐户有多个用户。如果我为每个网格选择触发一个查询,那么流量就会变得非常糟糕。
所以我的问题是:我能否以优雅的方式在上面的例子中缓存dataHTML变量,并在MVC / HTML5中使用固有的功能,我是否应该从外部.html文件中提取html“模板”,或者我应该完全做些什么不同?