我正在考虑开发一个新的Web开发项目,客户有两个大规格,第一个是他们希望它在.NET中开发,第二个是他们希望能够改变外观和感觉页面,而无需重新编译代码。虽然我是ASP.NET的新手,但我熟悉模型视图控制器的概念,ASP.NET MVC是否允许客户避免编译所有内容或者只是避免编译业务逻辑?您是否有可以推荐的好书或资源,以便我可以了解更多信息?它仍然是项目的早期阶段,我不是那个与客户谈论这个问题的人,但我将是那个正在做工作的人,我想知道可能性。
答案 0 :(得分:8)
在不更改代码的情况下更改网页外观的最佳方法可能是via the style sheet。 Here's one of the best examples。
答案 1 :(得分:3)
答案 2 :(得分:1)
这是一本关于ASP.NET MVC 1.0入门的好书。
http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx
答案 3 :(得分:1)
如果您正在更改视图中的HTML,则无需每次都重新编译它,即使您向其添加代码(只要它在视图外部使用的任何内容已经在编译代码中)。
另一方面,如果您只是改变颜色和布局等内容,那么所有这些都可以在CSS中完成,而这甚至不需要在项目中。
答案 4 :(得分:0)
设计页面,以便您可以轻松地将样式应用于页面的不同部分。通过将页面区域分成'div'来执行此操作,然后您可以为这些div提供类名和ID。完成此操作后,您可以在CSS中编写样式表并将其应用于页面。许多网站提供的一件事是能够将主题应用于网站。主题只是相关样式表和图像的集合,使网站具有特定的外观。将每个主题放在一个单独的目录中,然后只需更改它们从中加载的目录即可更改外观。
准备学习(和CSS一起战斗)起初它是一种黑色艺术。
除非你真的有一个表
,否则不要使用表元素答案 5 :(得分:0)
如上所述,CSS样式表是改变webapp外观而不进行任何重新编译的最佳方式,而csszengarden是如何更改网页的绝佳示例。
但是,您还希望仅将表格用于表格数据,而不是用于布置组件。
我倾向于经常使用元素将标签放到表单元素上,例如文本框。
您还需要在div上设置id属性,跨越表单元素以便更改这些元素。可以根据元素类型和之前的内容进行更改,但我发现能够告诉它更改footerdiv更安全,无论应用程序中还有哪些更改,因为html可能会更改,div可能已被更改为跨度,然后我在css文件中的假设是错误的,并且他们的html更改导致css更改,不必要。
但是,正如凯文·琼斯提到的那样,你首先需要与CSS作斗争,因为没有桌子的布局需要更多地思考如何让CSS做你想做的事。
答案 6 :(得分:0)
CSS可以在这里提供帮助。另一个好方法是动态交换masterpages - 真的不太难做,只需在PreInit事件期间在页面中设置MasterPageFile属性。
在谈到动态切换的主服务器时,您可以使它们实现一个公共接口或从公共基类继承并让页面引用它。
答案 7 :(得分:0)
如何使用主题(WebForms)并动态更改它们?
This入门套件有一个简单的例子
您还可以使用jQuery将样式表设置从类更改为特定的css属性。 (这也适用于ASP .NET MVC和WebForms)
答案 8 :(得分:0)
如果您熟悉MVC,我会研究ASP.NET MVC。但是,您也可以使用自ASP.NET 2.0以来已经存在的大量内置功能(如MasterPages)来控制模板和主题以控制和切换页面布局,颜色方案等。两者都可以使用最终会改变的CSS你的代码的样子。甚至标准的ASP.NET Web表单控件也包含一个CssClass属性,可以设置该属性并用于格式化Web表单控件。