我是.NET的初学者,我有一些疑虑。有人能帮我理清吗?如何在.NET中调用服务器端事件
当对文件的用户请求(* C++),该请求第一前进到IIS服务器,并使用处理程序和模块的帮助下找到的文件需要被处理并发送回型客户端。但是,在静音机器上显示时,.ASPX文件的内容将显示为HTML控件。客户端生成的事件如何发回服务器?
我知道runat = server告诉控件将在serverside处理。 但每次我们为什么需要写“runat = server”。有没有在客户端运行的ASP.NET控件?
我是.NET的初学者,我有一些疑虑。有人能帮我理清吗?如何在.NET中调用服务器端事件
当对文件的用户请求(* C++),该请求第一前进到IIS服务器,并使用处理程序和模块的帮助下找到的文件需要被处理并发送回型客户端。但是,在静音机器上显示时,.ASPX文件的内容将显示为HTML控件。客户端生成的事件如何发回服务器?
我知道runat = server告诉控件将在serverside处理。 但每次我们为什么需要写“runat = server”。有没有在客户端运行的ASP.NET控件?
,如果你开始使用.NET Web开发,ASP.NET MVC是去IMO
是产生在客户端浏览器事件的ASP.NET服务器控件锻炼标准DOM事件的方式通过JavaScript代码注入到从Web服务器发送的页面中。尝试从任何浏览器查看页面源代码,以查看实际生成的内容,并且图片将变得更清晰。
本质上runat =服务器告诉ASP.NET解析器处理标记并为页面生成一些特殊的HTML输出。请参阅GvS's explanation,该主题介绍了这些控件的客户端事件如何转换为在服务器上处理的表单POST。
http://www.w3schools.com/aspnet/aspnet_intro.asp
如何做ASP.NET工作?
当浏览器请求HTML文件时,服务器返回文件当浏览器请求ASP.NET文件时,IIS将请求传递给服务器上的ASP.NET引擎 ASP.NET引擎读取文件,行 一行,并在文件中执行脚本最后,ASP.NET 文件返回给浏览器作为纯HTML
也看到
HTTP请求/响应循环
HTTP是无状态协议 - 网络开发的另一个方面是从传统的桌面编程显着不同的是 事实HTTP本质上是一种无状态的有线协议。只要Web服务器发送对客户端浏览器的响应,就会忘记上一次交互的所有内容。在传统的桌面应用程序 中肯定不是这种情况,其中可执行文件的状态通常是活着的,并且直到 用户关闭应用程序的主窗口。
Asp.net是如何工作的?
内容
什么实际发生的是,当在IIS接收到用于.aspx文件的请求时,第一Asp.net与呈现在页面上的各种控制的隐藏状态相应的HTML。然后将该HTML发送给客户端。如果用户回帖,则从这些隐藏字段中检索值并使用。
另外我想第二个理查德·洛格伍德关于从Asp.net MVC开始的回答,而不是传统的Asp.net。但是,如果你基本上是一个Windows程序员,那么你可以坚持传统的Asp.net开发,以加速和简化Web开发 – 2011-12-27 08:10:31
这些事件刚刚由服务器端控制器引发,当您点击一个asp按钮时,会在客户端捕获事件信息,并通过HTTP post
.i将事件消息发送到服务器.i认为这些可能由某些注册事件在你的页面正在加载时,在你的页面框架上注册了一些事件,并通过http post请求产生。
看,客户端和服务器端控件之间的区别之一是服务器端在服务器端注册,您可以将其状态保存在视图状态中。当你点击一个服务器端按钮时,首先引发客户端事件,服务器端注意到由于服务器端控制着服务器上注册的事件,当你点击按钮时,你的页面被回发。但客户端控件只是在客户端有效,他们的事件刚刚为您提供网页浏览器
需要更多帮助?评论我编辑我的答案 方面,阿里
当你告诉“标签”runat="server"
,你告诉服务器注册标签。现在标签被包含在服务器上的控制/标签树中,并且可以在服务器上找到:当事件被触发时,或者属性或内容改变了服务器端。
客户端事件无声地转换为POST表单。再加上一些额外的信息,如控件的ID和事件的类型。
由于您的标记已在服务器上注册,因此它具有一个ID,该ID也会传输到客户端(查看html源代码)。这个树是在事件被“解雇”之前构建的,(通过解析.aspx文件)。使用此标识,您可以在服务器端控件/标记树中找到标记,然后运行用于处理事件的方法。
使用这些技术和许多ViewState,Asp.Net试图否认HTTP的无状态本质。起初这看起来是个好主意,恕我直言,它最好不要与大自然搏斗。目前ASP.Net MVC感觉更自然。
谢谢大家的指导...... – 2011-12-27 08:54:37