Asp.net的WebForm的落后技术
本文链接:https://bbs.csdn.net/topics/392077893
因为webform确实,企图通过在html标签中的runat="server",在iis接受请求后,通过aspx页面引擎解析,想在服务器端,将所有标签构建成对象,各种Label对象,Button对象,然后还有一大堆属性Css,Style等等,包含一大堆本该服务器不应该关心的东西。
我认为只有对html页面进行数据填充的地方,才需要服务器端关心,其他地方都不是服务器端的责任,软件开发时,页面表现,前端工程师都写好了,不该是服务器关心的。
然后Webform为了干预这引擎生成的对象,以及深入的说干预最后生成的html页面(字符串)加了很多事件!这个就是页面生命周期,这个本来没什么问题。但是每次事件回传都要把这些事件执行一遍就有点问题了。
每次事件回传,都对页面重新生成,将客户端提交的form表单元素解析,然后还原html字符串中各个地方的值,这是是楼主说的框架设计的问题吧!
服务器控件的存在,页面生命周期的过长,这些与ajax确实是冲突的,如ViewState的完整性验证,不允许客户端修改服务器控件生成的内容,这个只能在服务器端对内容进行更改,这样就可ajax冲突了。比如:
刚开始用服务器控件做了个多级联动,然后如果在前端用ajax修改了控件生成的内容,再次提交到后台就会验证出错,不得不关闭安全验证。
ajax请求也不得不再写一个ashx页面,不能请求自身这个文件,不然的话,又一次生命周期,又一次状态还原。整个框架给人的感觉是想要精细控制的话,自己又必须写很多代码,或者以前的框架做了过多的事情,不够清爽!
asp.net的webform是试图把客户端和服务器端的编程混在一起的.让你感觉不到客户端的存在,但实际上web编程程序的偏重点就在客户端,特别是SEO需要高质量的HTML,也就需要精确控制页面的元素,但webform束手缚脚.
Asp.net的WebForm的落后技术的更多相关文章
- ASP.NET中 WebForm 窗体控件使用及总结【转】
原文链接:http://www.cnblogs.com/ylbtech/archive/2013/03/06/2944675.html ASP.NET中 WebForm 窗体控件使用及总结. 1.A, ...
- 转:基于ASP.NET的Comet长连接技术解析
原文来自于: Comet技术原理 来自维基百科:Comet是一种用于web的技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询和iframe流. 简单的 ...
- asp.net mvc webform和razor的page基类区别
接触过asp.net mvc的都知道,在传统的webform的模式下,page页面的基类是这样声明的: <%@ Page Language="C#" MasterPageFi ...
- ASP.NET Core Windows服务开发技术实战演练
一.课程介绍 人生苦短,我用.NET Core!大家都知道如果想要程序一直运行在Windows服务器上,最好是把程序写成Windows服务程序:这样程序会随着系统的自动启动而启动,自动关闭而关闭,不需 ...
- Asp.NetCore Web开发之会话技术
这节讲一下会话技术,首先了解一下什么是会话,会话是指浏览器打开到关闭的过程中,多次与服务器发送接收数据的过程. 由于HTTP是无状态协议,一次请求响应过后,产生的数据就随之释放了,可是在某些情况下,我 ...
- Asp.net中WebForm 与 MVC的架构区别
ASP.NET Webform 后台代码(behind code) 这种behind code 模式有5个问题,我们用MVC的设计思想来分别解决这些问题 1.基于视图的方案来解决基于行为的需求 从上图 ...
- 在ASP.NET Core下使用SignalR技术
一.前言 上次我们讲到过如何在ASP.NET Core中使用WebSocket,没有阅读过的朋友请参考 WebSocket in ASP.NET Core 文章 .这次的主角是SignalR它为我们提 ...
- Asp.NetMVC和WebForm的请求生命周期
1.MVC的执行过程 用户 ---->控制器--->ViewData进行传值--->视图(进行显示) 2.Controller中的Action 主要进行的作用: 1.处理用户的请求 ...
- C# 获取客户端信息 /asp.net/WebService/WebForm
Request.Browser.MajorVersion.ToString();//获取客户端浏览器的(主)版本号Request.Browser.Version.ToString(); //获取客 ...
随机推荐
- ROS开发--在订阅话题的回调函数中发布话题
处理激光数据时,需要将处理后的激光数据再发布,需要保持一致的频率,所以必须在回调函数中发布激光数据信息. 代码参考:https://blog.csdn.net/heyijia0327/article/ ...
- PHPStorm使用XDebug调试
(一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...
- git pull报错you do not have permission to pull from the repository
you do not have permission to pull from the repository解决方法 使用git进行项目的版本管理,换了台电脑,配置了账号和邮箱后,pull一个项目 ...
- 入门移动端混合开发 实战京东 APP(完整更新)
课程资料获取链接:点击这里 混合开发入门 主流开发方案实战京东移动端APP 无需原生开发基础,也能完美呈现京东商城.本课程融合vue.Android.IOS等目前流行的前端和移动端技术,混合开发经典电 ...
- [Violet]天使玩偶/SJY摆棋子 [cdq分治]
P4169 [Violet]天使玩偶/SJY摆棋子 求离 \((x,y)\) 最近点的距离 距离的定义是 \(|x1-x2|+|y1-y2|\) 直接cdq 4次 考虑左上右上左下右下就可以了-略微卡 ...
- 阿里云oss 直传
sts获取 参考https://help.aliyun.com/document_detail/28792.html?spm=a2c4g.11186623.6.786.6fb238dfI9iiqA 配 ...
- cf 手机短信问题
题目链接:https://vjudge.net/contest/331120#problem/C 题目:你有一部手机,最多显示k个人发的信息,现在收到n条信息,有可能人是相同的人发的.最新的要顶置,当 ...
- CSS一些特殊图形
CSS一些特殊图形 CSS绘制三角形 通过控制元素的border属性可以实现三角形效果; 首先来设置4个边框, 为50px solid [color] color设置成不同的颜色值看一下效果 < ...
- 【Python】画一个心形
#!/usr/bin/env python # -*- coding:utf-8 -*- import turtle import time # 画心形圆弧 def hart_arc(): for i ...
- Linux系统编程、网络编程-文件I/O
第一章:文件io 1. 文件io讲些什么 文件io这一章讲的是,如何调用Linux OS所提供的相关的OS API,实现文件的读写. 1.1 如何理解“文件IO”这个词 IO就是input outpu ...