【发布时间】:2010-12-08 00:32:08
【问题描述】:
有什么好的方法可以处理这种混乱、不必要且不是真正动态的 JavaScript 生成:
var <%# JavascriptId %> = new BusinessChart(
'<%# JavascriptId %>',<%# CurrentUserId %>,'<%# ChartId %>'
,'<%# Helper.GetBaseUrl() %>','<%# ChartPath %>'
,'<%# Helper.ResolveUrl("~", true) %>'
);
<%# JavascriptId %>.Init();
我找到了这个other question,但答案似乎没有解决气味的来源。
我看到了一些具体问题:
- JavascriptId 是一个变量名。我为什么要在服务器端定义客户端变量名?
- 用户的 CurrentUserId 永远不会改变...这是他们的用户 ID。 GetBaseUrl() 和 ResolveUrl("~") 也一样...为什么我要到处传递常量?
- 我必须打开 aspx.cs 代码隐藏文件来调试东西,并且不能使用 Intellisense。
我已经提出了一些想法来处理上述问题(声明一个全局“应用程序”对象,jQuery + 在 DOM 元素上声明类),但我想听听更多关于此的想法。
【问题讨论】:
标签: javascript asp.net dom code-generation