gpt4 book ai didi

c# - C# 是否对事件使用任何脚本语言?

转载 作者:太空狗 更新时间:2023-10-29 18:27:00 27 4
gpt4 key购买 nike

我的一个 friend (一个 php 开发人员)告诉我 C# 没有管理事件的能力,这意味着事件不是由 C# 代码生成或控制的(比如 Button点击Selected Index Changing 等)。它是由一些其他脚本语言编写的,例如 JavaScript,他告诉我它是 JScript。并且所有控件(如标签、按钮)都是客户端,不需要进入服务器。

那么我的问题是为什么 runat="server" 用于所有 asp 控件?他还说重定向 (Response.Redirect) 也发生在客户端,它不是服务器端,C# 没有能力这样做,因为它是一种 PROGRAMMING LANGUAGE 不是脚本语言

我对他的回答一头雾水,对他的回答也不满意。谁能告诉我这是什么?

  1. 什么是 runat="server"?如果所有控件都是客户端呢?
  2. c# 是否具有重定向、事件生成、处理等功能?
  3. 如果 c# 没有这种能力,那么 Windows 使用的是哪种脚本语言?它如何独立于浏览器工作?
  4. Response.Redirect 怎么样?是客户端吗?那么它是如何工作的呢?
  5. ASP 是否使用任何脚本语言 来处理事件

我是 C# 的新手。可能这是一个糟糕的问题,但有人可以给出正确的答案吗?我完全糊涂了。

通过事件的方式,像Button_Click,SelectedIndexChanged等事件
我在这里提到 C# 是因为我使用的是 C#,
谢谢

最佳答案

这不是语言问题,而是框架/技术问题。例如,ASP.net Web 表单可以在代码中处理事件,类似于您在 Windows 应用程序中的处理方式,但它实际上只是包装了 http 请求。在 MVC(也是 C#)中,您通过使用标准 http 动词(get、post、put、delete 等)与 Controller 交互来处理页面“事件”。

我会告诉他在那种情况下 php 也不处理事件。由于 php 和 asp 都是服务器端语言,它们都响应 http 请求,而不是事件。但是点击会告诉浏览器做一些事情并与服务器通信。 javascript 会处理事件,然后与服务器通信,但关键是,他的论点有点困惑。

其他答案:

  1. Runat 服务器只是告诉 asp 你想在服务器,因此它创建了一些对象和对 html 元素的引用这样您就可以在服务器端代码中与它们进行交互。
  2. Windows 没有使用脚本语言。您的 asp 应用程序是使用您编程时使用的任何语言。但是,ASP.net 会生成一些 javascript 以模拟 Windows 桌面编程风格。
  3. Response.Redirect 发生在服务器端,它只是告诉框架构建一个将转换为正确的 HTTP 响应的对象。

您可能想要学习网络开发的一些基础知识。特别是 http 如何是无状态的以及 http 动词如何工作。当您了解不使用框架时正在发生的事情时,就更容易理解框架在做什么。

更新:编辑后,我重新阅读了您的帖子,我明白了问题所在。你的 friend 基本上是对的。 C# 不是客户端语言,因此它无法对页面事件使用react——所以他是对的。然而,ASP.net 所做的是生成弥补这一差距的 javascript。相反,ASP/MVC 不会这样做,因此您必须编写与 Controller 通信的 javascript(甚至只是基本的表单提交),然后您必须相应地处理服务器响应。

所以他是对的,你不能直接写C#代码来响应页面事件。但是,如果您使用 ASP.net 在 C# 中进行开发,它将允许您在 C# 中编写代码并为您生成必要的 javascript。从您的角度来看,它基本上是无缝的。

关于c# - C# 是否对事件使用任何脚本语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374327/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com