Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在asp.net-mvc中加载带有partialView的javascript文件吗?_Javascript_Jquery_Ajax_Asp.net Mvc_Partial Views - Fatal编程技术网

我可以在asp.net-mvc中加载带有partialView的javascript文件吗?

我可以在asp.net-mvc中加载带有partialView的javascript文件吗?,javascript,jquery,ajax,asp.net-mvc,partial-views,Javascript,Jquery,Ajax,Asp.net Mvc,Partial Views,我有一个asp.net-mvc网站,上面有一个带有大量过滤信息的部分,中间是一个报告。我现在有几种不同的报告格式,我想在几种报告之间切换。我让它们都成为部分视图,并通过ajax加载它们(以避免反复加载公共信息),但我意识到的一个问题是,一些不同的报告附带了不同的javascript。目前,我正在加载主父页面中的所有javascript文件,但我意识到,即使我从未真正查看过报表,下载和连接所有jquery事件也是在浪费大量资源 无论如何,我可以在asp.net-mvc中下载部分视图的同时传递一些j

我有一个asp.net-mvc网站,上面有一个带有大量过滤信息的部分,中间是一个报告。我现在有几种不同的报告格式,我想在几种报告之间切换。我让它们都成为部分视图,并通过ajax加载它们(以避免反复加载公共信息),但我意识到的一个问题是,一些不同的报告附带了不同的javascript。目前,我正在加载主父页面中的所有javascript文件,但我意识到,即使我从未真正查看过报表,下载和连接所有jquery事件也是在浪费大量资源


无论如何,我可以在asp.net-mvc中下载部分视图的同时传递一些javascript,这样我只需加载它,并根据需要(而不是始终)连接事件。

当然可以。请注意,即使以后删除代码本身,代码的效果也会一直存在:您定义的任何函数都将保持已定义状态,您附加的任何侦听器都将保持已附加状态(只要它们的目标元素保持不变)。。。因此,最好为加载代码创建一个
setup()
teardown()
方法,您可以从控制代码中调用这些方法,而不是在加载代码时删除一堆要执行的代码


然而,我要说的是,我需要一个相当独特的环境来使用这种方法;在大多数情况下,一次加载所需的所有代码将更容易、更高效,如果没有其他功能,也可以从客户机缓存中获益。切换代码的行为,不要切换代码。

谢谢。。。如果你把这一点发挥到极致,假设你有一个应用程序是一个单一页面,整个生命周期都在交换部分视图。在某个时刻,在父页面的开头加载所有内容似乎效率低下。您还提到了“当然可以”,但没有解释您将如何操作。“如何”与任何javascript加载相同:包括一个
标记。它“似乎”效率低下,但事实并非如此,除非您有huuuuge代码库。缓存有很大的不同,因为代码只在一个连接中加载一次;如果代码被拆分,则代码将被取消缓存(如果在
标记内)或打开其他连接(如果从
标记链接)。像往常一样,YMMV,除非您在自己的用例中分析它,否则您不能肯定地说任何事情。但我认为脚本标记必须位于页面的开头部分,它几乎可以去任何地方(根据规范,元数据、脚本或语法元素可以去的任何地方:例如,它可以去
可以去的任何地方)。如果在
头部
,则您确定它将在收到任何正文之前运行。除了
onload
或各种就绪处理程序之外,一种常见的替代方法是将脚本放置在
标记的最底部,这样可以确保在执行脚本之前加载整个(主)文档。