我更喜欢使用外部 css 和 javascript 文件。然而,在许多情况下,javascript 或 css 文件的内容需要是动态的。我通常只是将 javascript 或 css 传输到我的 aspx 页面中的内联或 inpage 代码并在那里处理动态内容。
有没有人有更好的方法?有没有办法使用 asp.net 的常规模板语言生成整个 js 或 css 文件?
我目前正在使用网络表单,但我也有兴趣在 MVC 中解决这个问题。
谢谢
我更喜欢使用外部 css 和 javascript 文件。然而,在许多情况下,javascript 或 css 文件的内容需要是动态的。我通常只是将 javascript 或 css 传输到我的 aspx 页面中的内联或 inpage 代码并在那里处理动态内容。
有没有人有更好的方法?有没有办法使用 asp.net 的常规模板语言生成整个 js 或 css 文件?
我目前正在使用网络表单,但我也有兴趣在 MVC 中解决这个问题。
谢谢
我以前使用过HTTPHandler发回动态 javascript。但不是继承自 System.Web.UI.Page 的东西。
我已经为动态 CSS 使用了处理程序。根据您的需要,您可以对 js 文件执行相同的操作。
我有一个 css 文件,其中包含需要动态的部分的占位符,例如##bacgroundcolor##,并且处理程序只是根据需要替换。
我还使用了一种方法,我使用 css 类来标记需要特殊行为的 html 元素。然后静态 js,寻找这个元素并挂钩适当的处理程序。使用 jquery 肯定会更容易做到这一点(我当时用常规 js 做到了:()。
我之前在一个 aspx 页面中做过这个,但在我看来,WebForm 样式本身并不适合严格呈现 javascript 或 CSS。每次我这样做时,页面最终看起来有点像经典的 ASP。
希望您使用的实际 JavaScript 将保持静态,您只需将参数传递给 JavaScript 方法。
我采用了页面标记中包含类似内容的 JavaScript 代码,<%= control.ClientID %>
并将其替换为静态 JavaScript。我将代码重构为一个类,然后将这些可变部分重构为类成员。该页面创建了一个类的实例,并设置了诸如 ClientID 之类的内容。然后这些函数可以是静态的。