何时使用 javascript 而不是创建 aspx 页面?

Posted

技术标签:

【中文标题】何时使用 javascript 而不是创建 aspx 页面?【英文标题】:When to use javascript instead of creating an aspx page? 【发布时间】:2012-03-30 22:03:26 【问题描述】:

我是 C#.Net 的新手,我有一个问题,我无法在 Internet 上找到。我什么时候应该使用 html + javascript + css 的经典组合,而不是使用带有代码的 aspx 页面? 正如我开始 .net 以来所经历的那样,我发现 aspx 页面和背后的代码对开发人员来说是一个巨大的便利。自从我开始以来,我不需要任何 javascript 代码。一定有什么问题。我想我错过了一点。你能回答我的问题并告诉我一些我必须使用 html+javascript+css 而不是 aspx + aspx.cs 或反之亦然的例子吗? 祝你有美好的一天。

【问题讨论】:

使用简单且让您感到舒适的东西。无论如何,它们最终都是浏览器的 HTML/JS/CSS,所以它应该由偏好驱动。 我想说,您的选择应该以努力为用户实现最佳体验为导向。这可能意味着使用一个或另一个,或者更可能是明智地使用两者。 【参考方案1】:

Javascript 是一种客户端技术,仅在浏览器中运行,而 ASP.NET 在服务器端运行。这些可让您实现不同且互补的目标。

使用经典的服务器端语言,您想要响应的任何用户交互通常必须通过互联网从浏览器发布到您的服务器。然后它由服务器处理,服务器响应一个新页面供浏览器加载。这通常意味着用户的响应时间较慢,尽管您可以访问服务器上更丰富的编程环境。

使用客户端语言,一切都在浏览器上处理。这允许更快地向用户提供反馈,但代价是在浏览器为您提供的更受限制的编程环境中工作,并且无法访问您的应用程序可能依赖的东西,例如您的数据库。

当然,当您发出 AJAX 请求(通常是用 Javascript 编写的向服务器发出请求、接收响应并动态更新页面的调用)时,界限会有些模糊。

您提到到目前为止您还没有使用过任何 Javascript。也许作为一个起点,您想调查在客户端验证用户输入?这样,错误就会被捕获并立即报告给用户,而无需花费往返服务器的费用。 http://www.tizag.com/javascriptT/javascriptform.php

客户端和服务器端技术都非常强大和有用。将两者结合使用可为用户提供最佳体验。

【讨论】:

【参考方案2】:

根据我的经验,在 .NET 中使用 Javascript/jQuery 一直用于 UI 和客户端验证目的。如果您正在构建一个不需要 Javascript 来满足客户要求的应用程序,那么请利用 .NET 提供的功能。但是,实现 Javascript 并不难,因此请随意使用您喜欢的并且符合客户最大利益的方式。您仍然可以在 ASPX 页面中编写和使用 Javascript。

【讨论】:

【参考方案3】:

您的考虑之一可能是速度。网页中的 Javascript 将在网站访问者的浏览器上运行。代码隐藏在托管页面的服务器上运行。

【讨论】:

【参考方案4】:

根据我的经验,当客户需要一个与 win 应用程序完全一样的网络应用程序时,主要目的是使用 html、css、javascript 和 asp.net 的伴侣

您不需要将页面刷新到服务器并再次返回

【讨论】:

【参考方案5】:

您错过的积分

背后的代码并不是 ASP.NET 的组成部分;您可以在 aspx 文件中创建一个包含所有 C# 代码的 Web 应用程序。 如果您为 Web 应用程序选择 ASP.NET 和 C#,则您的所有页面都应该是 aspx 页面,除非是非常具体且不太常见的情况。 您需要了解服务器端脚本和客户端脚本之间的区别。 ASP.NET 是一种服务器端脚本技术,而 javascript 只是一种客户端。 Take a look。 您可以创建任意简单的 aspx 页面 - 即使没有任何相关的服务器端脚本 - 没关系。

尝试回答

你使用了必须这个词,所以:

如果您需要任何类型的服务器端处理,则必须使用 aspx 而不是仅使用 javascript。 如果有特定要求,您必须使用带有纯 javascript、jquery 和 css 的 html 文件,这非常罕见。这可能是 a) 页面应该尽可能快的情况 b) 你不介意每个人都能看到你的完整代码只需在浏览器上选择 查看源代码 c) 根本不需要服务器端处理 d) 你不介意这些在您的网络应用程序中使用额外的技术组合。

【讨论】:

【参考方案6】:

您使用 Javascript/JQuery 来执行不需要任何服务器端处理的操作,例如验证范围或空值的控件,一些花哨的 UI 内容。它比后面的代码快得多,因为它不会回发到服务器,但是您可以使用 UpdatePanel aspx 服务器控件进行部分回发并避免重新加载页面。

作为 Web 开发人员,您应该始终结合使用服务器端处理和客户端处理。客户端的工作逻辑和应用程序进程允许基于浏览器的应用程序看起来更具响应性并且对它们具有更多的“敏捷性”。

【讨论】:

【参考方案7】:

如果您正在寻找高度可定制和高性能的页面,那么我会使用 html + javascript + css 并调用一些 web 服务。这样您就不会受到 asp.net 控件的限制。此外,开箱即用的标准 Web 表单有很多警告,可能会导致页面性能问题和开销 - ViewState 就是其中之一。您也可以设计自己的 asp.net 控件,但有一些学习曲线。

这真的归结为个人喜好(其中没有什么是您不能在另一个中做的):基础 vs 抽象。对我来说,javascript 在与 webforms 结合使用时总是感觉有些麻烦,但是,使用 mvc 时它会更自然,就像使用标准的 html + javascript + css 页面一样。

【讨论】:

【参考方案8】:

当您想创建静态页面时,您可以使用 html+css+javascript 代替 aspx。 如果你想要更动态的东西,你必须使用 aspx 和 cs。

欲了解更多信息,请转到http://www.w3schools.com/aspnet/aspnet_pages.asp

【讨论】:

-1 ASP.NET 不是让页面更加动态的东西。 ASP.NET 页面服务器端 proccesing 进入您的站点,您甚至不需要 cs 文件,您可以编写所有 aspx 而不需要后面的代码。这个答案具有误导性。其他的,对于动态的东西,看看这个w3schools.com/dhtml/default.asp 所以你是说使用asp.net不是让你的网页更有活力的主要原因之一吧?我看不出有任何误导的理由。 具有误导性,因为它说“当你想创建静态页面时,你可以使用 html+css+javascript 而不是 aspx”,这是错误的,因为:a) 你可以使用 asp.net b 创建静态页面) html+css+javascript 允许您创建非静态站点。关于第二个短语,您不需要 cs 即可使用 asp.net。 @daniloquio 仅供参考,我发现 w3schools 是一个误导性资源。

以上是关于何时使用 javascript 而不是创建 aspx 页面?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以检测浏览器何时使用后备字体而不是 CSS 中指定的主要字体?

检测何时在 ASP.NET 中禁用 JavaScript

何时在 Rails 6 中使用 stylesheet_pack_tag 而不是 stylesheet_link_tag

IIS ASP.NET 何时使用集成模式或经典模式?

AngularJS:何时使用服务而不是工厂

AngularJS:何时使用服务而不是工厂