ASP.NET Core 中的 WebForms 相当于什么?

2024-01-11

我正在做计算机科学的最后一年项目,该项目是一个管理大学的系统,比如openSIS http://www.opensis.com,但是使用ASP.NET 核心 https://learn.microsoft.com/en-us/aspnet/core/来建造它。

我需要有关如何使用常规 HTML 表单(例如通过<form/> and <input type="submit"/>。我知道如何在 WebForms 中执行此操作,但不知道如何在 ASP.NET Core 中执行此操作。


您要求做的事情可以“开箱即用”ASP.NET 核心 https://learn.microsoft.com/en-us/aspnet/core/并且不需要第三方解决方案。

解决方案#1:ASP.NET Core Razor 页面

Microsoft - Razor 页面简介 https://learn.microsoft.com/en-us/aspnet/core/mvc/razor-pages/

这可能是最直接、最少需要学习的方法,它相当于现代的“经典 ASP.NET Web 窗体”。你可能会问这个:

基本思想是在 Visual Studio 中创建一个“ASP.NET Core Web 应用程序”项目,并选择“Web 应用程序”项目模板(在单击“确定”之前确认在模板选择对话框中选择了“.NET Core”。)

然后,您可以添加包含 HTML、CSS 和 JavaScript 的“Razor 页面”,并通过常规方法使用简单的回发方法HTML 表单 https://www.w3schools.com/html/html_forms.asp带有提交按钮。上面的链接有一个关于这样做的主题 https://learn.microsoft.com/en-us/aspnet/core/mvc/razor-pages/?tabs=visual-studio#writing-a-basic-form.

解决方案#2:ASP.NET Core MVC

微软 - ASP.NET Core MVC 概述 https://learn.microsoft.com/en-us/aspnet/core/mvc/overview

这是第二个最直接的方法,但确实需要您掌握 MVC 概念:Models https://learn.microsoft.com/en-us/aspnet/core/mvc/models/model-binding, Views https://learn.microsoft.com/en-us/aspnet/core/mvc/views/overview and 控制器 https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/actions#what-is-a-controller。实现 Razor 页面只需要您掌握 HTML 和 Razor 页面代码隐藏,但是,MVC 作为一种模式将为您生成的项目提供更可维护和可测试的项目方法。

基本思想是在 Visual Studio 中搭建一个“ASP.NET Core Web 应用程序”项目,然后选择“Web 应用程序(模型-视图-控制器)”项目模板。

而不是添加Pages https://learn.microsoft.com/en-us/aspnet/core/mvc/razor-pages/你添加Views https://learn.microsoft.com/en-us/aspnet/core/mvc/views/overview,做任何有用的事情Views https://learn.microsoft.com/en-us/aspnet/core/mvc/views/overview就会有对应的控制器 https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/actions#what-is-a-controller。还会有Models https://learn.microsoft.com/en-us/aspnet/core/mvc/models/model-binding定义,正如您在 Razor Pages 解决方案中看到的那样。对于 MVC 来说Models https://learn.microsoft.com/en-us/aspnet/core/mvc/models/model-binding已发布到您的控制器 https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/actions#what-is-a-controller via Actions https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/actions#defining-actions.

上面的链接详细介绍了该主题,并且有许多关于一般 MVC 概念的 Stack Overflow 帖子。

解决方案 #3:RESTful Web API 和客户端 JavaScript

Microsoft - 构建 Web API https://learn.microsoft.com/en-us/aspnet/core/mvc/web-api/

这可能是最不直接、最具技术性的方法。您将希望熟悉“JavaScript”和“XHR”、“JSON”(或 XML,但 JSON 已成为事实),并且您将希望精通“RESTful Web 服务”的含义,即。 HTTP 支持 POST、GET 和 DELETE 资源的基本动词。

基本思想是使用 MVC 脚手架在 Visual Studio 中创建“ASP.NET Core Web 应用程序”项目。然后你实施控制器 https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/actions#what-is-a-controller充当 RESTful Web 服务。您可以添加 Razor Pages 和/或 MVCViews https://learn.microsoft.com/en-us/aspnet/core/mvc/views/overview交付 HTML 和 JavaScript。

通过这种方法,您可以创建无需重新加载的“单页应用程序”,其中整个应用程序的 HTML 和 JavaScript 可以预先交付,然后使用 RESTful Web 服务修改客户端的 UI。这可以变得更高级,大多数开发人员都希望考虑使用客户端模板引擎。最精简、最容易使用的可能是 KnockoutJS,但其他更流行(也更复杂)。Knockout 具有解决非常具体的问题的价值:将 HTML UI 数据绑定到 JavaScript 对象。

无论您采取哪种方法,都从这里开始:Microsoft - ASP.NET Core 入门 https://learn.microsoft.com/en-us/aspnet/core/getting-started

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET Core 中的 WebForms 相当于什么? 的相关文章

随机推荐

  • XML 架构:根元素

    下面的帖子询问如何指示一个元素是根元素 XML 模式 是否可以使用 Schema 在 XML 文档中定义根元素 https stackoverflow com questions 4254226 is it possible to defi
  • SQL在负载测试中拒绝连接

    我正在我的系统上运行负载测试 在一定程度的负载下 我开始在日志中收到 SQL 错误 System Data SqlClient SqlException 0x80131904 建立与 SQL Server 的连接时发生与网络相关或特定于实例
  • 如何通过 ssh 在 PHP 中执行远程命令?

    我正在尝试通过 ssh 从 php 脚本内执行远程命令 并且我希望将命令 stdout 和 stderr 的输出流式传输到原始主机 我知道在 Perl 和 Ruby 中这是可能的 我在 php ini 中找不到任何这样的例子 Code ip
  • Aapt 无法正常工作 - 无法在新项目上生成 R ID

    我正在使用 Jenkins 运行无头 Ubuntu 服务器 用于 Android 构建 主要用于测试 多个物理设备始终处于连接状态 一周前它开始表现得很奇怪 不可能在这台机器上成功构建 起初我以为可能是代码 然后是 pom xml 文件 M
  • 查看服务器上运行的所有 SQL 查询的列表

    我可以运行一个查询来显示特定数据库的日期范围内在服务器上运行的所有查询吗 我需要找出哪些参数值传递给了上周执行的存储过程 No 做到这一点的唯一方法是建立监控流程提前 监控数据库 例如通过 SQL Profiler 会对性能产生影响 因此在
  • 如何禁用 eslint 上的错误 (prettier/prettier)?

    在编码时 我没有使用 eslint 现在我安装了它 它让我的编辑器充满了更漂亮 更漂亮的错误 这些错误似乎并没有让我的代码更漂亮 我正在寻找一种方法来解决这个问题 prettierrc js module exports bracketSp
  • iOS 设备作为网络服务器[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我看到App Store上有几个应用程序允许其他计算机与iPhone iPad设备建立http连接来传输文件 看起来 iOS 设备上正
  • 选择超过总值百分比的行子集

    我有一个包含客户 用户和收入的表格 如下所示 实际上有数千条记录 Customer User Revenue 001 James 500 002 James 750 003 James 450 004 Sarah 100 005 Sarah
  • OpenCSV 在解析时抛出错误捕获 CSV 标头

    我正在尝试读取从前端上传的 csv 文件作为多部分文件 上传的 CSV 文件绝不会为空 Reader reader new BufferedReader new InputStreamReader request getFile getIn
  • Android Wear 模拟器显示 Google Play 服务错误 SERVICE_VERSION_UPDATE_REQUIRED

    我正在 Wear Emulator 上测试 Android Wear 应用程序并使用 Eclipse 进行开发 在wear app中 onCreate中有如下代码 mGoogleApiClient new GoogleApiClient B
  • 使用 Azure SDK for Node.js 中的 BlobService.getBlobURL() 生成 Azure 共享访问签名

    我正在尝试使用共享访问签名生成指向 blob 的 urlBlobService getBlobURL 在我本地计算机上 Node js 上的 Azure 库中 但是 当我尝试通过生成的 URL 检索 blob 时 我收到一条身份验证错误 指
  • 如何在 Google 电子表格中使用 ImportRange 函数强制重新计算单元格?

    我有一个电子表格目标 它使用 ImportRange 从另一个电子表格源获取一些数据 如 A6 query ImportRange mykey Weekly B BI CONCATENATE select WHERE Col1 B3 0 s
  • 带 * 的 Java import 语句不拾取类

    免责声明 我是 Java 新手 而且我已经阅读了相关的那么问题 https stackoverflow com questions 14897448 use of in import statement in java 我有以下代码 imp
  • SwiftUI:输入无效时文本字段摇动动画

    我想在用户按下 保存 按钮并且输入无效时创建摇动动画 我的第一个方法是这样的 为了简化 我删除了修饰符 而不是这种情况下的相关属性 View struct CreateDeckView View StateObject var viewMo
  • TypeScript 自定义事件监听器

    我认为我在这里的理解中遗漏了一些相当重要的东西 所以也许一点解释也会非常有帮助 我有一堂课 如下 class Entity protected pos number 0 0 public setPos x number y number t
  • 更改 Windows 窗体应用程序中的默认图标

    我需要更改我正在开发的应用程序中的图标 但只需从项目属性选项卡中浏览其他图标 gt 应用 gt Icon 它没有获取存储在桌面上的图标 正确的做法是什么 您在桌面上看到的图标不是图标文件 它们要么是可执行文件 exe或任何应用程序的快捷方式
  • 如何在页面加载期间从 Symfony2 获取学说查询统计信息

    我想在页面的页脚添加一些统计数据 类似于 184ms 6 10ms 其中184ms是页面生成时间 6是查询计数 10是数据库查询所花费的时间 我可以计算出页面生成时间 但如何获得不符合理论的数据库统计信息 当然 这是在应用程序环境中运行时的
  • 在 Outlook 中通过 VBScript 规则调用 Slack API

    我正在尝试在 Outlook 中运行一条规则 该规则运行一个 VBScript 该脚本调用 Slack com Web 服务并使用特定消息更新我的 Slack 频道之一 当前状态 我只想让它发布一条静态消息 未来我将尝试使用 RegEx 解
  • 如何在多个参数上动态构建 JDO 查询

    可以轻松地使用 JDO 语法来查询多个参数 如下所示 specify the persistent entity you re querying and you filter usign params query pm newQuery M
  • ASP.NET Core 中的 WebForms 相当于什么?

    我正在做计算机科学的最后一年项目 该项目是一个管理大学的系统 比如openSIS http www opensis com 但是使用ASP NET 核心 https learn microsoft com en us aspnet core