我正在开发一个使用Asp.Net主题的项目,但没有看到它们的用途。
用户无法动态更改主题,网站已经使用了masterpages和css。
有没有人有任何主题特定的功能,他们发现css无法自行完成有用或有用的功能?
请注意,我确实通过Isapi抛出了.css文件,并且在没有asp.net主题的情况下完成了一些动态样式。
答案 0 :(得分:5)
我认为这里的每个人都在用asp.net皮肤混淆asp.net主题。主题用于将CSS文件和皮肤一起分组到命名文件夹中,以便可以集中应用并轻松更改。皮肤专门用于可能具有CSS无法直接控制的功能的asp.net控件。您可以使用外观为控件的许多不同区域或功能建立控件CssClass属性,然后使用CSS来应用必要的样式。
与其他人提到的类似......我将避免使用皮肤格式化字体,边框等,并使用CSS来应用任何这些设置。使用外观文件将标准设置应用于整个网站上的asp.net控件(如<asp:Calendar... />
),然后将CSS切线应用于所需的样式。
有关详细信息,请参阅this MSDN article。
答案 1 :(得分:3)
ASP.NET主题和CSS是通向同一城市的两条道路。根据我的经验,你无法用另一个你无法做到的事情。根据我的经验,我还发现CSS在可伸缩性和可维护性方面往往是最佳方法。
答案 2 :(得分:0)
无。
ASP.NET主题内置于框架中,通过设置框架变量可以更轻松地进行切换。但是我赞成.css,如果正确完成,很容易实现。
答案 3 :(得分:0)
根据我的经验,除了用大量冗余样式来膨胀HTML之外,主题都是无用的。
答案 4 :(得分:0)
是
asp.net'themes'让你不能单独设置任何主题的css和图像,你可以使用.Skin文件来改变.net控件的任何'[Themeable]'属性。这在css中是不可能的(因为它是服务器端的东西)。
答案 5 :(得分:0)
为了保持一致性,标准和灵活性,我建议你忘记所有关于ASP.Net主题的内容,因为它们基本上做同样的工作,CSS是一个不断发展和流行的标准,ASP.Net主题不是。
所有浏览器都内置了对CSS的支持,如果您确认,至少可以确保您的网站在符合标准的浏览器上看起来很好。另一方面,ASP.Net主题可能会产生浏览器可能不喜欢的标记。
答案 6 :(得分:0)
主题提供了两个优于CSS的好处,尽管你可能会争辩说你可能会争辩说你可以做到这一点:
它们提供服务器端控件的主题。这超出了CSS控制的颜色属性到您可能想要设置的其他属性,例如行为,样式,以及在Templateable项目的情况下甚至是它们的内容。例如,您可以在主题中定义具有默认分页控件的网格,然后您不需要为添加到页面的每个网格定义分页控件。
您可以根据其他设置(例如用户偏好)更改整个主题,以包含不同的CSS文件以及可能与控件不同的显示/默认值。
注意:主题包括ASP.NET外观文件和自动包含的CSS文件集合。
虽然我没有遇到太多的2.正在完成,它确实为我们提供了一个包含所有图像和样式,外观等的单个文件夹,我们可以使用我们的产品部署到每个客户端为相同的代码提供不同的外观,同时为开发人员提供一种简单的机制来改变每个客户使用相同代码库的外观和“测试”。