我想在asp.net页面中包含一些javascript变量。这些都是用代码构建的。我在客户端代码中使用这些变量。
我想知道更好的方法。
一个。创建一个httphandler来处理变量的逻辑,处理程序返回javascript。主页中包含对处理程序的引用
B中。后面的母版页代码处理变量的逻辑并在页面标记中返回。
每页都需要这些变量。
我想知道哪种是从性能和最佳实践角度来看的最佳方法。
我喜欢处理程序的原因是它意味着没有javascript包含在标记中,总分离。但是处理程序的缺点是它意味着额外的http请求,并且可能在处理处理程序时减慢页面呈现速度。
评论
答案 0 :(得分:0)
有趣的问题。通常,我将变量输出到自定义命名空间(全局对象),这基本上是您的选项B,但我不能说除了从未想过创建自定义httpHandler之外我有其他具体原因!
答案 1 :(得分:0)
我假设javascript的生成将由一个公共模块处理,因此任一选项都可能是合适的。
对处理程序的额外调用不太可能导致任何明显的开销。我们使用它们来处理来自我们数据库的图像,没有任何问题。
基于以上所述,我 个人 会使用处理程序,因为它是一个更优雅的解决方案,虽然有点复杂。
答案 2 :(得分:0)
处理程序选项似乎更优雅,但它可能会花费您在服务器或客户端甚至某些代理上缓存的麻烦。我想说的是简单的。
答案 3 :(得分:0)
您可以执行HttpModule将javascript直接写入响应输出。这样,您就不会对处理程序或母版页中的任何标记发出请求。
答案 4 :(得分:0)
您可以拥有一个javascript代码块,将这些变量存储在隐藏字段market runat = server中。然后,您可以在回发中选择服务器端。