【发布时间】:2010-10-18 04:40:36
【问题描述】:
什么是构建 ASP.NET 网站的优雅方法,最终用户可以通过用户界面为其网站创建自定义主题?
ASP.NET 主题在这里对我有帮助吗? UI 是否应该允许用户将引导的 CSS 文件写入光盘并应用这些文件?欢迎任何建议。提前谢谢你。
【问题讨论】:
-
我真的不认为这是一个与 asp.net 相关的问题,因为我们在这里谈论的是 UI,后端并没有什么不同
什么是构建 ASP.NET 网站的优雅方法,最终用户可以通过用户界面为其网站创建自定义主题?
ASP.NET 主题在这里对我有帮助吗? UI 是否应该允许用户将引导的 CSS 文件写入光盘并应用这些文件?欢迎任何建议。提前谢谢你。
【问题讨论】:
我会使用纯 CSS 解决方案,用户可以指定自己的 CSS,并且只能修改主题和布局外观。
您还需要注意不要使用表格,因为它们是刚性的,CSS 可能会碰壁。
还可以查看CSSZenGarden 了解如何支持用户主题。
【讨论】:
首先,使用强大的语义方法构建干净的 html 模板,定义一个默认的 css 基础,无论选择什么主题(基本元素位置、基本图像、字体定义等)都可以正常工作,并定义你的默认主题在一个单独的文件中
现在有两种方法:
让他们配置一些元素的外观并将他们的偏好存储在数据库中
http://acko.net/dev/farbtastic 是一个不错的小部件,用于选择元素的颜色 如果你想走得更远,f.ex.在布局上拖放元素位置,使用 f.ex http://jqueryui.com/(或 scriptcaluous 或其他)并通过 httprequest on drop 将它们的位置保存到 db
让他们写自己的css文件
如果您喜欢用户编写 css 文件的方法,我会考虑让他们只覆盖特定类别的元素,但我不知道您真正想要实现什么以及您想要走多远主题,提供更多细节。我不明白他们为什么要将 css 上传到磁盘上,只需将它们放在 textarea 中并保存到数据库中。
无论您选择哪种方式,您都应该在http://tumblr.com 或http://storytlr.com 上查看它的工作原理,以了解该主题。
【讨论】:
男人, ASP.Net 主题适用于小型网站,但对于大型网站来说,这是地狱,您无法控制您的 CSS 包含和许多其他内容,在我的工作中,我只使用主题来定义控件的属性,例如将文本框的 CSSClass 设置为“ Tb”,这真的很棒,因为它将适用于所有文本框,并且您可以节省很多时间,我就停在那里并且不会在主题中定义任何 CSS 文件。
然后按照 JZ 的建议创建一个干净的模板,可以很好地更改颜色、字体大小等... 然后创建多个css文件以反映您的模板,然后在您的母版页中放置一个下拉框并用模板名称填充它,然后使用jquery或添加动态链接,其值将根据下拉框选择的值而变化。
希望这会有所帮助。
【讨论】: