如何设计一个延迟样式/主题的ASP.NET网站?

时间:2008-09-25 19:22:55

标签: asp.net prototype themes frontend

我需要为内联网网站构建一个原型,我想专注于可用性(布局,导航性等)并将主题留待以后(我的口味非常糟糕,所以这可能是由其他人完成的)

我了解ASP.NET即时切换主题的能力,但是我如何设计WebForms以便以后更容易?

  • 我应该创建一个带有class属性的控件,指向将来css中会存在的东西吗?
  • 或者我只是简单地创建控件而不用担心这个问题,当我们创建主题时它会被轻松处理?

4 个答案:

答案 0 :(得分:2)

如果您打算使用ASP.NET Themes,那么您可以一般性地设计所有控件并稍后添加外观。根据设计的复杂程度(意味着您对文本框或网格视图有多少种不同的样式等),这可能无法为您节省大量工作,但这是使用内置.Net支持进行主题化的一种方法。 / p>

确保您使用MasterPage,以便所有子页面都有一个共同的基础,并为您的所有元素提供良好的ID,因为您仍然需要亲自使用CSS将它们放在一起。< / p>

这是一个体面Themes & Skins tutorial的链接。了解将来要添加的内容将使现在更容易设计。

答案 1 :(得分:2)

我想提出完全忽略主题并只使用CSS的论点。我从来都不清楚主题增加了什么价值;它是一种非常特定于Microsoft的方法,其输出并不总是符合标准。通过使用CSS,您将扩大能够处理项目的潜在设计师的范围,您将有更好的机会拥有跨浏览器和符合标准的网站。

如果其他人打算在以后设计样式,我只需确保为他们提供足够的“挂钩”以便能够设计它。这意味着将CSS类添加到几乎所有类似样式的内容中,并在适当的情况下使用CSS类将内容包装在div或spans中,例如

     <div class="ButtonContainer">
       <asp:linkbutton runat="Server" cssclass="Button Cancel" command="Save" text="Save" />
       <asp:linkbutton runat="Server" cssclass="Button Save" command="Cancel" text="Cancel" />
     </div>

如果您对CSS没有扎实的了解,并且没有内部命名约定或标准样式表,那么您将不会真正知道如何构建div和类。在我们的商店中,我们处理这个问题的方式是程序员只需编写标准的ASP.NET标记,设计人员会通过并添加与他们将开发的样式表一起使用的div,span和类名。

答案 2 :(得分:1)

皮肤可能就是答案,但是有些事情让我感到烦恼(也许是因为我不喜欢那种特定供应商而且我希望我的技能适用于除.NET以外的其他网络语言和平台)。我更喜欢在我的所有ASP.Net控件上使用CssClass属性,并仔细地对其他所有内容进行分类,并尽可能多地使用语义标记。然后,当我设置并运行控件时,我使用CSS来设置所有内容(尽管我通常必须在此时调整HTML和JavaScript的内容)。

我工作的另一个开发人员更喜欢用Microsoft的方式处理Skins和页面指令等等。这可能是最好的方法,但我觉得它将过多的演示文稿混合到应用程序的中间和后端。

答案 3 :(得分:-1)

将控件包装在div中。最终将使布局/风格更容易