我正在做什么需要AJAX和ASP.NET吗?

时间:2010-01-10 02:38:49

标签: asp.net html asp-classic

简单的问题。我曾经在“经典”ASP时代开发网站,当我被要求为家人或朋友做一个快速而肮脏的网站时,我仍然采用直接的HTML / ASP和一些基本的CSS和Javascript - 我可以通过这种方式快速获得网站。但是,我有一些要求设计和开发一些付费网站,并认为我应该赶上我的网络技能。我一直在为Windows应用程序使用.NET 3.5,XAML / WPF等,所以我在.NET上,我只是落后于网络端。

问题:如果我想设计/编码一个在所有(至少是最近的)浏览器和平台上看起来相同的网站,我应该使用ASP.NET和AJAX吗?网站上可能有一些小的数据库活动,但不多,所以我不需要一个企业级,多层可扩展的架构......只是看起来不错的东西,可以在多个平台上工作而无需为所有变体编码每个浏览器。看完书店里的所有ASP.NET书籍后,似乎他们都主要关注数据和回发的东西。是否仍然是一个合法的选择,使用一些基本的,无聊的HTML和JavaScript与一些Flash嵌入在需要的地方?

如果我需要澄清这个问题,请告诉我。提前感谢您的建议!

3 个答案:

答案 0 :(得分:3)

你的问题比你想象的要多,但让我试着解决一些我认为相关的问题。

首先,网站的外观几乎完全取决于您使用的HTML / CSS以及您如何编码网站的前端,并且仅略微依赖于服务器技术。因此,如果您希望自己的网站能够跨浏览器和平台运行,请了解web standards, with semantic markup之后的代码。 (搜索这些条款以获取更多信息)。

此外,ASP.NET现在有两种版本:ASP.NET MVC和普通的ASP.NET。如果您打算进入ASP.NET,我强烈建议您遵循MVC平台。它密切关注类似的技术(如Ruby on Rails),并将使您更容易过渡到其他MVC平台。此外,当您使用“拖放”控件时,MVC平台不会尝试输出与直接ASP.NET相同的预制HTML。

其次,它实际上取决于您正在构建的网站,而是直接的JS(或JS + jQuery),CSS和HTML - 除非您要嵌入视频,否则请不要使用Flash - 实际上将适用于许多基本网站。如果你需要在服务器上发生一些事情,那么PHP就是一个很好的平台。如果您正在使用高级数据库访问和程序流程,并且因为您已经熟悉.NET,那么坚持使用它...... MS有一些很棒的工具和资源可以帮助您。

最后,许多开发人员使用最喜欢的CMS或博客平台作为简单网站的后端,这些网站仍然需要能够轻松管理内容。经常使用Expression Engine(CMS)和WordPress(Blog / Lite-CMS)(基于PHP),但有很多。

祝你好运加快你的游戏!

答案 1 :(得分:2)

我建议学习jQuery。这将为您的JavaScript提供独立于浏览器的抽象。

ASP.NET控件将以独立于浏览器的方式呈现它的控件,但这并不意味着您的站点将自动与浏览器无关。您仍然需要知道元素在不同浏览器中的呈现方式不同。

我还建议使用CSS Reset表格作为CSS的起点。

总而言之,如果你一直在开发旧式ASP,你可能真的很喜欢ASP.NET,因为它可以节省你很多时间和循环。您也可以直接跳到ASP.NET MVC

对于问题的根源,如果你做的不仅仅是一个简单的宣传册网站,我会学习ASP.NET。如果你有.NET经验和经典的Web开发经验,那么学习ASP.NET不会是一个很大的障碍,值得付出努力。

答案 2 :(得分:1)

我同意Aaron Daniels' answer关于学习jQuery的看法。 jQuery对JavaScript和一些基于CSS的效果的跨浏览器兼容性有很大帮助。

但是,您还应该考虑确保您的网站使用格式正确,有效的HTML,并且不使用太多的CSS 2+功能。这应该确保您的网站符合标准,这意味着它可以在一定程度上与Firefox,Safari,Opera甚至更高版本的IE一起使用。你仍然需要对IE进行手动调整 - 对于MS来说,它已经太长时间无法正常修复它了 - 所以请查看conditional comments为IE用户应用单独的样式表。

AJAX是一种用于“桌面化”Web应用程序的便捷技术。它提供了一种异步回调到Web服务器的机制,因此您可以在不重新加载浏览器窗口中的页面的情况下来回传递数据。例如,这就是投票按钮在StackOverflow上的工作方式。

最后,ASP.NET对最终用户在网站外观和体验方面的体验并没有太大影响。它是一种服务器技术,用于编写通过Web传送到浏览器的复杂应用程序。话虽如此,MS已经投入了一些额外的好东西,以便更容易地使用AJAX。

希望有所帮助!