当前位置:  开发笔记 > 后端 > 正文

ASP.NET主题 - 它们应该被使用吗?

如何解决《ASP.NET主题-它们应该被使用吗?》经验,为你挑选了2个好方法。

我一直在阅读我的ASP.NET书中的主题,并认为它可以是一个非常方便的解决方案,然后我遇到了一些问题.

主题选取文件夹中的每个CSS文件

如果要使用重置样式(排序很重要),则无法保证导入样式表的顺序

您的母版页不会明确指出正在使用的样式,只有呈现的页面可以告诉您,除非您深入了解web.config

使用主题文件设置Web控件的样式是......好吧......愚蠢?您可以在样式表中执行此操作.粒度控制应该在HTML级别,如果不是?

如何在单个样式表中没有所有样式的情况下指定打印样式表?

我想知道他们是否真的值得使用.有什么好处吗?是否有任何主要网站使用它们?

编辑

只是为了澄清slolife的最后一点.如果我有两个样式表,一个名为print.css,另一个名为main.css,我使用的是ASP.NET主题,那怎么知道print.css是一个打印样式表呢?在常规HTML中,您在标签本身中使用媒体类型(即),但主题不会知道这一点,因此它将作为常规样式表包含在内.



1> slolife..:

我喜欢使用主题,但正如Raj在他的回答中所指出的,URL重写可能会导致问题.我寻找一些解决方案的原因是我的问题.但无论如何我会加上我的意见.

我将从上面讨论你的一些子弹,为什么我认为主题是好的:

- 主题选取文件夹中的每个CSS文件

我想你想要只将某些样式表文件应用于某些页面.是的,主题采用霰弹枪方法,所以这是一个问题.但是您不必将所有样式表放在主题文件夹中.将您的专业部分放在它之外,它们不会自动包含在内.但我认为将通用/站点范围的自动包含在内是一个很好的功能.

- 如果要使用重置样式(排序很重要),则无法保证导入样式表的顺序

我认为您可以通过命名文件的方式来保证订单,因此它们按数字和字母顺序排列.也许不是一个优雅的解决方案,但并不可怕.

就个人而言,我有一个构建步骤,将我的主题文件夹中的所有*.css文件组合并压缩为一个style.css文件,因为我控制了构建步骤和文件组合的顺序,影响我.

- 您的母版页不会明确指出正在使用的样式,只有呈现的页面可以告诉您,除非您深入了解web.config

您可以通过代码和<%@ Page指令更改主题

- 使用主题文件设置Web控件的样式是......好吧......愚蠢?您可以在样式表中执行此操作.粒度控制应该在HTML级别,如果不是?

我同意通过主题将样式属性应用于控件似乎不是最佳实践.但我喜欢这样的事实:我可以在主题的皮肤文件中定义图像皮肤,而不必剪切和粘贴Width,Height,AlternativeText,Align属性,以便在整个网站中使用很多地方的常见图像.如果我改变其中一个图像,我可以将属性固定在一个地方,而不是全部.我也可以创建带有某些css类列表的皮肤控件,这对我来说似乎很方便.

- 如何在单个样式表中没有所有样式的情况下指定打印样式表?

我有一个以@media print开头的Print.css文件,它定义了我网站的打印样式.为什么需要将它们放在一个样式表中?



2> Raj..:

恕我直言,asp.net主题绝对是无用的

尝试使用使用主题的应用程序实现URL重写,并看到它们立即中断

基本上,你可以在asp.net和多个css文件夹中编写几行代码来实现同样的功能.我还没有遇到任何一直使用主题的开发者/公司

当asp.net 2.0推出时,围绕主题进行了大肆宣传,但我的个人观点是它根本不值得:-)

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有