有人帮我回答我为什么在asp.net中使用脚本?

时间:2015-06-18 19:55:54

标签: javascript jquery asp.net angularjs

当我使用asp.net编码网站时。 Asp.net在服务器调用sql server(ado.net,linq或实体框架)并获取数据,发送给客户端。我使用一些控件作为girdview来显示数据。实际上,我做网页优化(sql server - 存储过程,创建索引,分区=>更快,加速获取数据。网站:UI简单,不要使用太多效果)

但为什么在客户端,当服务器返回客户端的数据时,很多人总是会使用脚本(例如javascript,jquery,node js,angular js,bootstrap,react,google o / i .... )在网页上显示。

所以,当我们使用girdview时它会更慢或更快?

当用户(客户端的人)在浏览器中停止写入时,这意味着,制造商允许用户或提议在客户端的浏览器上停止脚本。所以我们为什么要用户(* .js),当用户可以停止脚本时?

甚至很多人在服务器中使用asp.net(新版本 - 2013),他们也在那里使用脚本。所以当我们只使用asp.net时,服务器中的asp.net +脚本会更快还是更慢?

请帮助我回答。

(我很抱歉,因为我的英语不好。)

非常感谢你。

3 个答案:

答案 0 :(得分:1)

在Web开发的早期阶段,客户端上的Javascript提供了客户端“用户体验”的显着增强,即从服务器传送的静态HTML没有。这包括诸如基于用户输入启用或禁用某些界面特征,基于用户输入的显示器的某些区域的出现或隐藏,或者其他数据片段的组合。

随着Web开发的发展,对后端Web服务器进行更强大的客户端交互的需求变得明显,您提到的“框架”都以各种方式工作,以改善设计,响应能力和行为。基于Web的应用程序,不仅仅是启用或禁用按钮。这相当于复杂的数据绑定,Web服务的回调,减少服务器往返,以及创建富客户端接口,仅举几例。

它们都是工具,每个工具都有自己的角色,每个工具都使Web应用程序比之前的那些工具更强大。

答案 1 :(得分:1)

如果我理解你的问题,那么答案就取决于速度和偏好。

首先,如果你禁用客户端javascript,你的asp.net控件无论如何都不会真正起作用。你会发现很少有地方仍然禁用它,所以它不再是人们所关注的问题了。

其次,它归结为您希望集中开发工作的地方以及您拥有的开发人员类型。如果你有很多人习惯于后端工作(C#)并希望留在那里,那么使用asp.net控件等可以使开发更容易。

如果您有javascript开发人员或想要使用它的人,那么您有更多选项可以让您更多地将服务器端代码与前端代码分离。这可以很好地用于维护目的。

真正的重点是,如果您可以在Web应用程序中使用ajax(http://www.w3schools.com/ajax/default.asp),则可以使其响应更快。 ASP.NET控件通常会导致页面刷新并导致不必要的服务器端计算以获取数据并重新呈现整个页面(或使用asp.net mvc的部分页面)。使用像您所列出的角度和其他新技术,您可以只关注重要的数据计算和网络流量。

例如,如果您需要一个表来更改加载的数据,您可以为需要加载的数据创建一个ajax请求,然后只在客户端上呈现该部分。

答案 2 :(得分:0)

首先,每个"脚本"你提到过(jQuery,AngularJS,Bootstrap,React)是一个用JavaScript编写的库。节点除外,它甚至不是前端。我不确定你是什么意思谷歌o / i ... JavaScript是目前唯一适用于所有浏览器的语言。

JavaScript的最初目的是在将数据发送到服务器之前检查表单值。尽管浏览器的采用限制了浏览器的使用,但它很快就逐渐发展了,这在今天仍然是一个问题。

现在我们可以使用JavaScript来呈现整个网页。首先打开页面时,它可以帮助渲染,这意味着服务器不必完成所有工作,但只能发送普通数据,通常是JSON。它还用于稍后向页面添加内容,而无需重新加载页面(AJAX)。最着名的例子是实时聊天系统,比如facebook上的聊天系统。这极大地改善了用户体验,我无法想象如果整个页面重新加载以显示单个新消息会有多糟糕。

虽然用户可以在他们的浏览器中禁用JavaScript,但这意味着页面可能无法正常工作,除非有这种情况的回退设计,我不知道为什么有人会禁用它。说实话,可能大多数普通用户甚至不知道可以做到这一点以及禁用JavaScript的设置在哪里。

相关问题