如果我更喜欢对网站的HTML进行细粒度控制,我应该学习ASP.NET吗?

时间:2009-05-20 19:21:03

标签: asp.net asp.net-mvc webforms

几个月来,我一直在考虑下载微软的express web platform并学习ASP.NET,我可能真的很喜欢,因为我已经使用PHP进行网络工作了,但是对C#感觉更舒服。

但是,我不想这样做的主要原因是我总是将ASP.NET与无用的意大利面条HTML相关联。我发布的链接就是一个很好的例子。是否可以在更类似于PHP的上下文中使用ASP.NET,使用它来为我的网站提供支持,但是为了验证和语义原因,不要手动完成HTML,CSS和JavaScript?


修改

我已经决定不学习ASP.NET并坚持使用PHP。

虽然MVC听起来不错,但对我而言,它可能最终会成为开发/调试的头痛。

8 个答案:

答案 0 :(得分:25)

如果使用ASP.NET MVC,事情会变得更好。我建议你跳过ASP.NET WebForms并直接跳转到MVC。

答案 1 :(得分:2)

如果您打算使用经典ASP.NET Web窗体,您真的需要了解它是如何工作的,以避免真正丑陋的HTML。如果你知道自己在做什么,你可以接近你想要的东西(你不能完全摆脱ViewState&它会用元素ID做一些丑陋的事情)

当人们像编写VB 6 Windows应用程序一样编写Web表单时,会出现很多经典ASP.NET的丑陋。

ASP.NET MVC是一个不错的选择。这可能是一个出发点的方式;我想自己切换到它。我想我的观点是你可以使用Classic ASP.NET获得不那么丑陋的HTML。

答案 2 :(得分:1)

如果您希望获得最新和最好的技能,那么MVC就是您应该开始的地方,但我也会考虑是否会要求您支持ASP.Net Webforms。了解ViewState对此至关重要。

对于细粒度的HTML输出,您可以使用传统的ASP.Net以多种不同的方式生成它。有越来越多的开发人员使用ASP.Net和microtemplating with Javascript混合使用produce RIA's。这不可避免地导致您的html输出更加清晰,以便可以使用jQuery和CSS进行操作。

答案 3 :(得分:1)

你真的想要查看asp.net mvc。它允许您以比香草网格更适合网络的方式进行开发。

答案 4 :(得分:1)

首先,ASP.Net,即使使用webforms,也可以让您完全控制标记输出。当然,对于某些情况来说,它比其他情况更容易,但是如果您发现自己没有从控件中获取所需的html,则可以始终使用ControlAdapter替换渲染行为。

也就是说,正如其他人所说,你可能会发现使用ASP.Net MVC获得你想要的确切html标记要容易得多。

答案 5 :(得分:1)

MVC.net和WebForms构建于ASP.net

之上

通过禁用viewstate而不使用任何控制器(或很少),您可以通过webforms获得适当的控制。这一切都取决于你让它为你做多少

答案 6 :(得分:0)

我在ASP.NET中的第一个真正的开发是使用MVC,我必须说我现在真的很想念它,因为我正在使用webforms进入下一个项目。每个都有它的位置和webforms正在我正在做的很好(也用它作为一个机会来了解TableAdapters和什么不是)但我真的错过了能够将我需要的数据插入HTML。这样我知道我建立的布局不会搞砸。

作为一个框架,我非常喜欢ASP.NET,但页面上的控件似乎远离了类似于HTML的东西,以至于我正在打字与我期待看到的内容之间存在精神上的脱节。当我第一次启动HTML时,我就是这样,所以我想我会习惯它。当我开始使用MVC时,从前端背景来看总体上是一种更愉快的体验。

答案 7 :(得分:0)

学习ASP.NET MVC,因为它可以让你更好地控制生成的html。学习ASP.NET也会大大增加你的工作机会。