我正在与一些使用C#在VS 2008中创建一些Web应用程序的内部开发人员进行斗争。
VS 2008中的本机工具和组件似乎不太适合创建Web标准代码。
例如,导航组件在其自己的表结构中创建项目。
无论如何,从Visual Studio创建一个Web项目可以创建漂亮,干净,浏览器友好的代码吗?
答案 0 :(得分:2)
您可以使用CSS Friendly Control Adapters来更改当前ASP.NET控件的输出。它很容易设置,您不必更改任何现有的源代码。
如果您已绑定到ASP.NET WinForms,则可以创建自己的控件集或使用第三方控件。还有一个XHTML configuration setting你可以设置为Strict,这样控件就会尝试渲染更有效的核心。
如果您真的想编写漂亮,干净,浏览器友好的代码,可以查看ASP.NET MVC。 ASP.NET MVC让您完全控制输出,但这意味着您必须自己完成WinForms目前为您做的所有事情......
答案 1 :(得分:1)
当然可以。如果某个组件没有产生您喜欢的标记,那么您就不会使用它。就是这么简单。
话虽如此,请务必查看Visual Studio 2010 beta 1,看看您的问题是否已得到解决。如果他们没有,那么你就会以一种可能会修复它们的方式来抱怨它们。
答案 2 :(得分:1)
VS 2008网络项目不做任何网络标准 - 不友好的事情。标准的ASP.NET控件(就像你提到的菜单控件一样)?这是另一个故事 - 有些人使用一堆桌子和javascript来做他们的事情。
好消息?您可以使用您想要的ASP.NET,而不必使用这些控件,如果您不想这样做。
答案 3 :(得分:1)
去MVC !!!您将完全控制您的UI
答案 4 :(得分:1)
我的两分钱:机器生成的代码几乎从不像我手工编写的代码一样符合标准,特别是当你进入花哨的小部件和诸如此类的东西时。显而易见的是,手工编写代码可能既繁琐又费时。
我们已经走了很长一段路,因为前面或者Dreamweaver用来吐出代码垃圾的黑暗时代,但即便如此......
最后,您的代码只能与程序员一样好。
答案 5 :(得分:0)
Web项目本身只是您创建的代码的容器,也是管理和构建已编译项目的机制。
根据我的经验,VS生成的控件符合Web标准......据说,浏览器在执行或不执行哪些标准以及如何执行它们方面存在差异。在大多数情况下,您可以高度控制从页面输出的HTML。由导航控件生成的表结构是有效的HTML - 您可能希望避免使用表,在这种情况下,该特定控件可能不适合您。
在大多数情况下,当您拥有复杂的控件时,您需要获得所获得的内容 - 生成的HTML对您和您的团队来说可能并不直观,但这通常是为了节省时间而获得的价格。使用预先构建的控件,尤其是旨在满足各种用途需求的控件。 (对于您使用/购买/查找的大多数代码/脚本库,也可以这样说)
许多控件都提供模板,使您能够为生成结果HTML的方式定义模板。
答案 6 :(得分:0)
如果您想要更清晰的标记,您可以选择以下几种方法:
a)从codeplex中查看CSS Friendly控件适配器。他们帮助很多控制。 b)避免使用更复杂的服务器控件。对于转发器和一些用户控件来说,几乎没有人能做到几乎与大多数任何数据绑定控件无关。 c)尝试ASP.NET MVC。没有neato服务器控件可以进行UI提升,但它可以让你制作非常非常干净的用户界面。