ASP.net编码要注意的一些地方

ASP.NET国际化 ASP.NET国际化     编码支持  本地化支持  配置设置---------------------------------------------------------- 阅读详情

新技术应该有新技术的做法, 进入ASP.NET的世界, 就应该把以往的习惯改正, 全新的进入新的世界. 
  以下列举的都是错误的做法, 请不要误以为是推荐的做法而进行推广:
1. 使用server side include给ASPX引入共同的页面构图.
在ASP.NET的机制下, 应使用ASCX(web user control)来实现. ASCX提供了更多可控制接口. 并且更重要的是, ASCX是一个类. 一个实实在在的类. 可以全面控制它.
2.不使用web.config
  web.config提供了 非常丰富的配置管理接口. 是一个应用程序最核心的部分. 但是很多人的web.config往往是空的. 或者就从来没有修改过.
3.使用Response.Write向前端输出消息
   ASP.NET平台下的Response和ASP的Response有很大的不同. 虽然表示同一含义, 但用法上已经大不相同. Response.Write的内容只会输出到页的最前端. 向前端输出消息的正确方法是使用PlaceHolder.
4.使用一系列session管理用户连接状态
  这种方法在 ASP里被滥用. 在ASP.NET环境下, 正确的做法应该是设计一个类. 结构化地保存数据. 将对session或者cookie的访问封装起来.
5.使用session验证身份
  这几乎是通病. ASP.NET提供了一组用于用户身份验证的API. 类型是forms验证或者windows验证. 这一点quick start有一节讲解得很清楚. 可以绝大部分人还是依靠给session赋值来保持用户身份验证状态.
6.使用Response.Redirect重定向页
  这一点 在必要的时候可以使用. 但不可滥用. 事实证明滥用重定向将导致逻辑上的严重混乱. 这是在以页为程序单元的时候的做法. 使用front controller模式将使用户的操作逻辑集中起来]
7.使用太多ASPX页
  ASP环境下的程序单元只 有*.asp页, ASP.NET可不是这样, 还有后端的类库, ASCX等等. 应将业务逻辑分别集中在不同的单元, 而不应该一项操作使用一个ASPX. 更多时候ASPX将做为ASCX或者custom control的容器而管理页内逻辑. ASPX重用ASCX的同时, ASPX也做为统一的页构图重用.
8.在多个逻辑单元之间复制代码并修改相应逻辑
重用. 重用. 重用. 处理此类问题的原则是不出现任何相同或相似的过程. 如果你用上面的方法, 一旦出现重大逻辑更改, 带来的结果将是灾难性的.
9.害怕使用DataSet.
  很多人被DataSet吓坏 了. 认为”肯定”影响性能. 但连最初的尝试都不敢. 他们总认为他们的产品一定重大, 设计上应该”慎重”. 他们往往使用ArrayList或者设计低级的类来保存集合数据. 进行艰难的数据倒入工作.
10.对“性能”过多注意.
  对ASP.NET ViewState的机制特别不满. 或者总是挖空心思迫害人家. 反倒把自己弄得很累. 如果在对付ViewState的同时多注意少连几次数据库也许更文明些.
11.应用程序根目录很乱.
  ASP.NET是开发项目. 不是网站. 应该把不同的资源分类放置. 例如把所有静态资源(样式表, 脚本, 图像)组织到一起. 甚至可以写一组API来管理他们. ASPX应该放在一起. ASCX应该放在一起. .*.cs呢? 应该把他们放到另外一个project里.
12.不厌其烦的写访问数据库的过程
应该把这工作交给 DataAccess Application Block. 你自己还要开关connection, 何苦呢.
13.自己写的东西最靠得住.
  事实往往正好相反. 多注意使用人家写好的产品. 又不收你钱, 何苦那么爱面子呢.
14. 胡乱命名ASPX文件名
  这是最让人痛苦的了. ASPX文件名不仅需要容易识别. 还应该遵循一定规则. 因为behind每个ASPX都会有一个同名的类, 想象一下, 多难受. 另外大部分人不知道管理自己的项目的name space. 让人好像看到一本帐一样.
15.从来不作继承或派生
  一些具有相同行为的类, 应该从公共的基类派生出来. 实际意义上, 我们的ASPX应该有一个基类PageBase. 因为总有一些公共的特性需要抽象出来.
16.零property
  他们的类(ASPX所对应)里只有 private method. 不公开自己的任何秘密. 可以这一定是JAVA的遗老干的事.
17. 零ASCX
  不用说, 他还没学会ASP.NET
18.使用DreamWeaver“画“ASPX
  这批人是美 工. 甚至有一些人在非常陶醉地讨论如何更好地“整合“ DreamWeaver和Visual Studio.
19.只熟悉System.Web.UI.WebControl和 System.Data.SqlClient应该还有一些值得熟悉的类库.
20.零注释
  这些都是心里很明白的快手. 一任IDE生成的缺省注释横在那里不管.
21.零事件
  对“事件驱动“一无所知. 只知道在Page_Load()里写过程. 或者双击一个按钮写Xxx_Clock()过程. 在他们的程序里看不到event和delegate.

asp.net viewState 那么,有了这个隐藏域,页面里其他所有的控件的状态,包括页面本身的一些状态都会保存到这个控件值里面. 每次页面提交时一起提交到后台,asp.net对其中的值进行解码,然后输出时再根据这个值来恢复各个控件的状态. 我们再看这个控件的value值,它可能类似如下的形式:Oz4+O2w8aTwxPjs+O2w8…当请求某个页面时,ASP.NET会把所有控件的状态序列化成一个字符串,然后作为窗体的隐藏属性送到客户端,当客户端吧页面回传时,ASP.NET分析回传的窗体属性,并赋给控件对应的值。......... 阅读详情

相关推荐

别再让信号‘撞墙’了!手把手教你用嘉立创阻抗计算器搞定PCB高速线(附免费压层结构选择)

本文详细介绍了如何使用嘉立创阻抗计算器解决PCB高速线设计中的阻抗匹配问题,避免信号反射和传输损耗。通过免费压层结构选择和五步计算法,帮助工程师快速掌握USB3.0差分线等高速信号的设计技巧,提升PCB设计效率和信号质量。

weixin_30736301的博客 236

.net编码技巧总结

<br />1.得到n个字符的字符串:<br />string zero=new string('0',5); //得到5个0的字符串<br /> 

tongiii的专栏 393

YOLO11优化:TGRS2026 CKConv结合C3k2 | 方向特征与跨阶段融合协同,小目标漏检率大幅下降

多尺度适配小目标尺寸变化:在 C3k2 不同阶段配置 CKConv 不同核尺度(浅层小核捕获精细纹理,深层大核聚合上下文),兼顾局部细节与全局感知,提升对舰船、车辆等小尺寸目标及红外热目标的检测鲁棒性。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 517

ASP编码者学习ASP.net编码注意的一些地方

在技术更新的进程中, 仍然有一些人死抱着已经过了气的东西不放. 也有一些人虽然进入到新的世界, 但仍摆脱不了陈旧的习惯. 我没有用”陋习”这个词, 因为我对这个词也非常反感.  新技术应该有新技术的做法, 进入ASP.NET的世界, 就应该把以往的习惯改正, 全新的进入新的世界.  以下列举的都是错误的做法, 请不要误以为是推荐的做法而进行推广:  1. 使用server side i

eggplant 1639

ASP.NET中的HTML编码和URL编码

导 读:Server.HTMLEncode 和 Server.URLEncode 是ASP中很常用的函数,在ASP.NET中也有类似的函数:HtmlEncode 和 UrlEncode (注意大小写)以下用实例来进行介绍。 Server.HTMLEncode and Server.URLEncode are very common functions used by ASP developers.

神奇小子技术出世 1065

asp.net html编码格式,ASP.NET中的HTML编码和URL编码

导 读:Server.HTMLEncode 和 Server.URLEncode 是ASP中很常用的函数,在ASP.NET中也有类似的函数:HtmlEncode 和 UrlEncode (注意大小写)以下用实例来进行介绍。Server.HTMLEncode and Server.URLEncode are very common functions usedby ASP developers. W...

weixin_42311427的博客 212

.net html 编码格式,ASP.NET 中的 HTML 编码

导 读:server.htmlencode 和 server.urlencode 是asp中很常用的函数,在asp.net中也有类似的函数:htmlencode 和 urlencode (注意大小写)以下用实例来进行介绍。server.htmlencode and server.urlencode are very common functions used by asp developers. ...

weixin_36422050的博客 327

asp.net IHttpHandler 对分块传输编码的支持,IIs web服务器后端技术

IHttpHandler,不支持分块传输编码(Chunked Transfer)吧?框架会自动处理分块协议的细节,让开发者可以像处理普通请求一样操作数据流。会自动处理分块解析,你可以像读取普通请求流一样读取数据:vb。若需处理更大的分块请求,需在。分块传输是 HTTP/1.1 协议的特性,允许服务器在。若需要多次访问请求体,需先将流缓存到内存或文件:vb。长时间的分块传输可能触发请求超时,需调整。当客户端使用分块编码上传数据时,如果分块请求中包含表单数据(如。,无论是请求还是响应。,无需手动处理分块。

975

ASP.NET学习总结

ASP.NET学习总结         ASP.NET视频看完了,总结一下这些天的学习的学习成果。 一、什么是ASP.NET  (1)百度百科的解释:         ASP.NET.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。

刘海燕 廊坊师范学院信息技术提高班 第八期 3754

ASP.NET中防止注入攻击

目的:输入的字串长度,范围,格式和类型进行约束. 在开发ASP.NET程序时使用请求验证防止注入攻击. 使用ASP.NET验证控件进行输入验证. 对不安全的输出编码. 使用命令参数集模式防止注入攻击. 防止错误的详细信息被返回到客户端. 概述 :  你应该在程序中验证所有的不信任输入.你应该假定所有的用户输入都是非法的.用户可以在应用程序中提供表单字段,查询字串,客户端cook

我的"什么是?" -eRicSone 1903

VS2010与.NET4系列 19.ASP.NET4中新的HTML编码的<%: %>语法

今天介绍ASP.NET 4引入的新的语法特性——即在代码块中自动产生HTML编码输出的能力。这可以帮助保护应用程序和站点免受跨站点脚本(XSS)注入和HTML注入攻击,并使你能够使用简洁的语法来做到这一点。 HTML编码 跨站点脚本注入(XSS)和HTML编码攻击是两个最常见的折磨网站和应用程序的安全性问题。当黑客发现了一个可以把客户端脚本或HTML标记注入到页面的方法,随后其他访问者查看此页...

weixin_30561425的博客 255

ASP.NET安全与经典ASP和非ASP.NET URLs集成

【原文地址】Tip/Trick: Integrating ASP.NET Security with Classic ASP and Non-ASP.NET URLs 【原文发表日期】 Sunday, March 04, 2007 6:17 PM 别人经常问我的一个问题是,“我怎么能把ASP.NET安全与经典ASP和其他非ASP.NET URLs集成起来?” 具体地来说,他们想知道他们是否能把

jerry's blog 671

ASP.NET网页播放器实现指南

为了实现更丰富的用户交互和定制功能,可以通过JavaScript和CSS来增强<video>和<audio>元素的表现。例如,使用JavaScript监听事件、控制播放、设置播放列表等,以及使用CSS进行样式定制,以适应不同的界面设计。选择合适的JavaScript库可以大大简化开发过程。对于视频播放器功能的实现,有几个流行的库可以考虑:Video.js: 是一个开源的HTML5视频播放器库,它提供了一个兼容多种浏览器的播放器界面,并且支持自定义皮肤。JW Player。

weixin_35749786的博客 1222

Asp.Net】五大对象

学习Asp.Net时候,亲爱的于老师讲解了五大对象。趁着知识还没有忘记,趁热打铁,好好的总结一下。下面跟着我学习一下Asp.Net的五大对象。 Application 在没有学习Asp.Net之前就已经知道了Application这个东东,但是当时不是很了解,也不知道到底是什么,学习了Asp.Net才知道它是其中的一个对象。 Application:全局应用程序类。在服务器内存中存储数量

王雪娜--Alisa 3043

ASP.net页面引用js时的注意事项

ASP.NET页面中经常需要链入一些JS文件,如:  如果在JS里有中文的话,在一般情况下,在浏览器里会报错脚本错误. 如果不信可以自己试一试。  其实是这样的: 由VS.NET自动生成的项目里,Web.Config中有这么一段:globalization requestEncoding="utf-8"responseEncoding="utf-8"/> 它定义了该应用发送和接收的流都以utf-

shanyou的专栏 2735

关于AspAsp.NET共享Cookie需要注意地方

首先Asp程序发送到客户端的Cookie是进行UrlEncode后的,因此在Asp.net读取时应该采用UrlDecode进行还原, 另外Asp.Net生成的Cookie比方用于Form认证的Cookie根据配置,有可能是经过加密的,因此在Asp中读取时要根据相应算法进行解密. 转载于:https://www.cnblogs.com/wdfrog/archive/2007/12/27/101...

weixin_30438813的博客 66

encodeURIcomponent编码ASP.NET之间编码转换

<br />Javascript的URL编码转换,escape() encodeURI() encodeURIComponent(),asp.net 的UrlDecode进行解码 。<br />本文介绍对url编码的三种函数 escape() ,encodeURI() ,encodeURIComponent()<br />escape() 方法:<br />采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该

shanyou的专栏 1703

ASP.NET中的URL编码解码

在对URL进行编码时,该用哪一个?这两都使用上有什么区别吗? 测试: string file="文件上(传)篇.doc"; string Server_UrlEncode=Server.UrlEncode(file); string Server_UrlDecode=Server.UrlDecode(Server_UrlEncode); string HttpUtility_UrlEncode=...

资料汇总整理-仅供个人学习使用 3092

ASP.NET web网页基础

一些关于ASP.NET的基础介绍与使用

ou2914671339的博客 891
上一篇: GridView 自定义分页
下一篇: ASP.Net中MD5和SHA1加密的几种方法
mark4ever
博客等级 码龄17年 31粉丝 63原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值