使用ViewData跟踪每页加载的脚本

时间:2009-10-26 10:53:51

标签: c# javascript asp.net-mvc viewdata

我目前正在尝试找到一种只在我需要时加载我的javascript文件的好方法。为了做到这一点,我为faceboxlinks,datepickerfields,tinymcefields和其他需要外部js和初始化jquery表达式的脚本创建了几个HtmlHelper。 在这些帮助器中,我使用jQuery的getScript()执行脚本,并使用其回调函数来初始化脚本。

现在我的问题来了。我最初的想法是在字符串列表中跟踪这些脚本并将其放在htmlHelper.ViewData中。但是,不幸的是,这失败了。出于某种原因,此viewdata不会传递给部分视图或类似的东西;它没有保留清单..

还有另一个地方我可以全局保存我的字符串列表而不是帮助程序的ViewDataDictionary,或者我是否以错误的方式使用此ViewData并且我是否应该将其传递出去? 任何澄清或帮助将非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以使用HttpContext.Current.Items集合来存储与当前请求相关的数据。

尽管如此,我认为您应该重新设计您的架构,以便它不依赖于全局变量(ViewData和Items最终会出现在您的情况下)。

看看这个:How do I add JavaScript to an ASP.NET MVC View?和类似的。