自动视图状态管理是服务器控件的功能,该功能使服务器控件可以在往返过程上重新填充它们的属性值(您不需要编写任何代码)。但是,因为服务器控件的视图状态在隐藏的窗体字段中往返于服务器,所以该功能确实会对性能产生影响。您应该知道在哪些情况下视图状态会有所帮助,在哪些情况下它影响页的性能。例如,如果您将服务器控件绑定到每个往返过程上的数据,则将用从数据绑定操作获得的新值替换保存的视图状态。在这种情况下,禁用视图状态可以节省处理时间。
JavaScript和ASP.NET的传值 因项目需要,最近一段时间里对于js的开发有了一定的了解。在基于ASP.NET的开发中,经常性的需要JS脚本来增加一些客户端的控制,比如限制输入字符,日期控件等等。一般这样的控制基本上在客户端完成就比较好,无需回传到服务端。总结了最近的开发中使用的一些js的技巧,提供给大家 1、js脚本如何访问服务器控件的值 界面上有一个TextBox控件,ID为Name,js里可以采用如下脚本取Name的值 var myvalue=documen
前言 本篇记录的是Asp.net页面生命周期,也就是管道模型的最末端HttpHandler的生命周期。(Page继承了IHttpHandler接口。想了解管道模型,请参考asp.net管道模型(管线模型)之一发不可收拾)。如有不足请大家指出^_^!! 本篇主要参考:ASP.NET编程模型之页面生命周期十一步详解 ASP.NET编程模型之ASP.NET页面生命周期图解 《亮剑.net 深入体验与实战精要》 正文
ASP.NET 2.0的主题和皮肤特性使你能够把样式和布局信息存放到一组独立的文件中,总称为主题(Theme)。接下来我们可以把这个主题应用到任何站点,用于改变该站点内的页面和控件的外观和感觉。通过改变主题的内容,而不用改变站点的单个页面,就可以轻易地改变站点的样式。主题也可以在开发者之间共享。
这篇文章经典,看过之后大受启发。值得一看!看来ASP.NET跟JSP其实是一样的,本质上没区别,ASP.NET能做到的JSP一样可以做到,反之亦然。只不过ASP.NET的框架看起来先进一点,不过JSP也在发展,似乎也出现了类似ASP.NET的框架。 一、服务器脚本基础介绍 首先,我们先复习一下Web服务器页面的基本执行方式: 1、 客户端通过在浏览器的地址栏敲入地址来发送请求到服务器端 2、 服务器接收到请求之后,发给相应的服务器端页面(也就是脚本)来执行,脚本产生客户端的响应,发送回客户端 3、 客户
1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。 连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开
1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。 使用存储过程 存储过程是存储在服务器上的一组预编译的SQL语句,类似于DOS系统中的批处理文件。存储过程具有对数据库立即访问的功能,信息处理极为迅速。使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码即可。另外,存储过程在服务器端运行,独立于ASP.NET程序,便于修改,最重要的是它可以减少数据库操作语句在网络中的传输。 优化查询语句 ASP.NET中ADO连接消耗的资源相当大,SQL语句运行的时间越长,占用系统资源的时间也越长。因此,尽量使用优化过的SQL语句以减少执行时间。比如,不在查询语句中包含子查询语句,充分利用索引等。 2. 字符串操作性能优化 使用值类型的ToString方法 在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。 运用StringBuilder类 String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,Remove,Insert等方法直接对字符串进行操作,通过ToString方法返回操作结果。 其定义及操作语句如下所示:
虽然您很可能希望尽量多地使用 Web 窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。
开篇:经历了上一篇《aspx与服务器控件探秘》后,我们了解了aspx和服务器控件背后的故事。这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下。然后,再对曾经很流行的ASP.Net AJAX方案中的利器—UpdatePanel这个神奇的区域一探究竟。
系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)—
数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互,模板循环输出 ,是指使用 UI 前端设计的 HTML 模板片断,并结合数据记录进行循环输出的过程,比如,有如下如图输出 :
ASP.NET Dropdownlist 错误 “Cannot have multiple items selected in a DropDownList.”
2) 通过页面隐藏模型重写Discuz.Web-install-index.aspx页面
开篇:上一篇我们了解了所谓的请求处理管道,在众多的事件中微软开放了19个重要的事件给我们,我们可以注入一些自定义的业务逻辑实现应用的个性化设计。本篇,我们来看看WebForm模式下的页面生命周期。
停电区域是指供电公司在某一天的某些区域的台区进行停电,台区的下属表箱均受到影响。这是一个地域性问题,所以通过在地图上进行标识这些区域,将数据可视化地展示到分析人员面前,可以很直观看到当天停电影响区域,极大地方便了后续工作的展开。
在asp中的OnClick和在Html里的OnClick是不一样的,前者是ASP中的,所以点击触发的是服务器事件,后者是客服端事件,当然在ASP中也有客户端的,OnClientClick事件,它在编译后就是HTML里的OnClicK事件。
ContentPlaceHolder 控件:在 ASP.NET 母版页中定义内容区域。
选择自timmy3310的BlogViewState是.Net中提出的状态保存的一种新途C#
学习ASP.NET也快三个月了,今天才对页面中几种不同元素区分开,惭愧! 1)HTML元素:跟普通的网页中的标签所定义的一样,没有服务器端的事件响应,能够直接在HTML代码中写客户端响应事件,如onclick="clientfun()"。 2)HTML服务器控件:在1)的基础上加了个runat="server",设计时写的HTML代码,在发送到客户端的网页中依然存在,因而可以在其中写客户端响应事件。但相对于1),它能够激发服务器端的事件serverclick。 3)web控件:形如<asp:butto
看完之后,觉得能不用viewstate就不用,再者像这样viewstate[“a”]=”b”;这种简单的赋值是没有什么关系的,它生成的树是很小的,altas一定是用js修改了viewstate的,但方法肯定是加密再加密的,效率也应该很低.
回发或回调参数无效。在配置中使用 <pages enableEventValidation=”true”/> 或在页面中使用 <%@ Page EnableEventValidation=”true” %> 启用了事件验证。出于安全目的,此功能验证回发或回 调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
最近同学要做一个项目,需求是:音乐播放器。大致UI如图: 点击右边的“X”图标,可以删除当前选定的这首歌。因为现实界面的代码是复制过来的,并且前辈使用的是拼接字符串,然后绑定到页面的。没有使用ASP.
使用了 UpdatePanel 控件的方案是 ASP.NET AJAX 扩展中的重要方案。我们收到了许多关于此控件、UpdateProgress 控件以及二者功能的客户反馈。我们已经通过大量更改改善了部分页面呈现,并支持构建与 UpdatePanel 控件兼容的控件。我们还针对异步回发生命周期实现了丰富的事件模型,使您能够自定义客户端的更新处理。
开篇:毫无疑问,ASP.Net WebForm是微软推出的一个跨时代的Web开发模式,它将WinForm开发模式的快捷便利的优点移植到了Web开发上,我们只要学会三步:拖控件→设属性→绑事件,便可以行走于天下。但这样真的就可以走一辈子吗?实际上,ASP.Net经常被喷的诟病就在于WebForm以及只会拖控件的ASP.Net程序员,往往大型互联网系统也没有采用WebForm的模式进行开发。但是,WebForm并不是一无是处,而是我们没有用好,还有很多东西我们知其然不知其所以然,现在我们就来对这些平时所不注意但又十分关键的东西一探究竟。
ASP.NET中,有多种保存信息的对象,如:Application,Session,Cookie,ViewState、Cache等,它们有什么区别?应用环境是什么?
System 包含了基础类,用于定义类型/数组/字符串/事件/事件处理程序/异常 处理 /接口/数据类型转换/数学计算/应用程序环境管理等等.
在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/blog/index.aspx的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据(其中的经过怎样的BLL到DAL这里就不谈了),然后再由index.aspx页面来呈现给用户。
前一段时间对比过HTML和XML,最近在两个项目中又分别用aspx和html设计页面,那么aspx和html有什么区别呢?
ASP.NET页面生命周期——理解:重中之重!!! 1.基本概念:所谓的页面生命周期,指的是一个ASP.NET页面类对象从初始化到销毁经过的步凑过程; 2.大致步凑: (1)初始化:PreInit,Init,InitComplete (2)加载数据和页面:LoadState,ProcessPostData,PreLoad,Load,ProcessPostData(第二次)... (3)触发事件:ChangedEvents PostBackEvent (4)保存状态并呈现页面:SaveState,SaveStateComplete,Render 3.步凑详解: ProcessRequestMain-> PreInit-PerfromPreInit()->预初始化:准备初始化页面控件,设置皮肤; Init-InitRecursive(null)->页面对象初始化; InitComplete(OnInitComplete-EventArgs.Empty)->页面对象初始化完成:加载ViewState,还原控件状态,登记用户触发的事件; if(this.IsPostBack) { LoadState-LoadAllState():加载ViewState->ProcessPostData-ProcessPostData(this._requestValueCollection,true):还原控件状态 } ->PreLoad-OnPreLoad(EventArgs.Empty)->Load-LoadRecursive()-> if(this.IsPostBack) { ProcessPostData Second Try-ProcessPostData(this._leftoverPostData,false)->Raise ChangedEvents-RaiseChangedEvents()->Raise PostBackEvent -RaisePostBackEvent(this._requestValueCollection);):触发控件事件 } ->SaveStateComplete-OnSaveStateComplete(EventArgs.Empty):保存页面和控件数据到ViewState-> Render->RenderControl(this.CreateHtmlTextWriter(this.Response.Output)):生成最终HTML代码
AttitudeCollection隶属于namespace System.Web.UI命名空间。AttributeCollection类属于集合类,具有其他集合所共有的一些属性。AttributeCollection类用来封装服务器控件的所有属性,可实现对服务器属性集合的添加和删除。控件的属性包括颜色、样式、名称等,这些属性都可以通过AttributeCollection类访问到。
url路由(动态路由和静态路由) asp.net 内部维护路由表对象,设置默认的响应路径,动态路由按照路由表的顺序从前向后查找。 url优先按照默认路由按照格式匹配,如果找不到,则返回404错误 参考:https://www.cnblogs.com/meetyy/p/4134615.html ASP.NET 支持三种开发模式: Web Pages 单页面模型,cshtml文件内嵌razor语法 MVC 模型视图控制器,ajax响应函数,服务端和前端完全分离 Web For
ViewState的通用解释就是:是 ASP.NET 页中的存储库,可以存储必须在回发过程中保留的值。页框架使用视图状态在各个回发之间保存控件设置。在各个回发之间保存值,而不将这些值存储在会话状态或用户配置文件中,将信息存储在视图状态中,这样在下次将该页发送到服务器时,代码便可以在页加载事件过程中访问这些信息。
大家好,又见面了,我是你们的朋友全栈君。关于在同一个页面中使用Gridview控件的时候发现气updaeting事件无法被服务器所响应,看来它的错误报警然后查询了部分资料现在将整理的解决方法总结如下:点击update 事件无法响应原因出在回发或回调参数无效。在配置中使用 <pages enableEventValidation=”true”/> 或在页面中使用 <%@ Page EnableEventValidation=”true” %> 启用了事件验证。出于安全目的,此功能验证回发或回 调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 < pages enableEventValidation=”true”/> 或在页面中使用 <% @ Page EnableEventValidation=”true” %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数 是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
需求:从上面的截图中,可以看到这是两个<asp:DropDownList>控件实现的界面,现在的需求是这样的,实现当选择第一个下拉控件并选择了相应的数据后,那么此时在第二个<asp:DropDownList>中进行绑定他的子类在此显示,从而实现页面两级菜单实现数据统一绑定。
PDF.NET(PWMIS数据开发框架)是一个基于SQL-MAP(将SQL语句映射成数据访问代码)和OQL(对象化的SQL查询表达式)技术的数据开发框架,兼有SQL和ORM的特点。尽管有些数据库系统能够提供SQL监视,比如SQLSERVER的事务日志跟踪,但好多数据库都没有提供这样的功能,所以很多数据(或者ORM)框架都会有一个记录执行的SQL日志的功能,PDF.NET也不例外,下面讲讲它是怎么实现的。 1,SQL日志功能代码介绍 PDF.NET 底层访问数据库使用的是兼容MS DAAB 3.1的AdoHe
黑马程序员.Net+WindowsPhone课程 .Net中级技术 .Net基础加强高级 面向对象高级 委托/事件原理 反射高级 SQL基础 SQL基础 多表连接查询 存储过程 事务/触发器 ADO.NET ADO.NET核心 离线数据集 SQLHelper 三层架构及应用 三层架构核心 代码生成器技术 Js高级 Js作用域链 Js面向对象 Js闭包 Jquery JQuery对象 选择器 筛选器 JQuery方法和属性 视频下载: .Net中级技术视频 ASP.NET开发 黑马Web服务器
注意啊!!!Button1_Click处理返回数据前还有其他处理!!!例如onPreLoad 哭啊,我自己之前不知道就被一个onPreLoad弄得莫名其妙~~~竟然Button_Click函数中发现拿到的数据跟前台post的数据不一样~~ using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using S
回发或回调参数无效。在配置中使用 或在页面中使用 <%@ Page EnableEventValidation=”true” %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
通过命名空间来分类,区别不同的代码功能,也是ASP.NET中所有类的完全名称的一部分。
asp.net ajax 充分利用客户端 JavaScript、DHTML 和 XMLHttpRequest 对象。其目的是帮助开发人员创建更具交互性的支持 AJAX 的 Web 应用程序 ASP.NET 页面的服务器端:ASP.NET 临时文件的存储以及动态生成的用于为页面响应提供服务的类的源代码。此外,还将构建一个可以与任何 ASP.NET 2.0 或 ASP.NET AJAX(原代号为“Atlas”)应用程序一同使用的资源管理器工具,以查看和调试您的页面执行的实际代码. http://msdn.mic
前言 进入公司6个月后被安排到该项目中,据说该项目规模很大,而拆分到公司的就只是二十来个页面,而我就负责其中的3个页面和其他页面的脚本代码,后来负责项目的性能优化工作。至于业务逻辑方面确实没什么可说的,就是CRUD。由一个很好沟通的前辈和我们6个新人一起来搞。这里有两项内容很值得总结,它们都让我技术上增进不少。 目录 1.页面控件数庞大,页面加载极慢,一步
Parameter 类表示由 ASP.NET 数据源控件用来选择、筛选或者修改数据的参数化 SQL 查询、筛选表达式或业务对象方法调用中的参数。Parameter 对象包含在 ParameterCollection 对象中。在运行时计算 Parameter 对象,将其表示的变量的值绑定到数据源控件与数据交互所使用的任何方法。 将 ASP.NET 提供的参数类(包括 ControlParameter、CookieParameter、SessionParameter、ProfileParame
最近一段时间比较闲,所以顺便尝试去了解一些新东西,虽然不做开发好多年,但最始终还是觉得做开发(coding)来的最轻松,也最拿手,做项目经理真的很烦,看来我还是不合适干项目经理。 前一段时间在Silverlight 2出来的时候我们公司就有个家伙用Siverlight做了个项目,吹嘘了一下说开发有多快,用户体验有多好,搞得公司里火了一段时间,后来又有项目组也开始用silverlight 开发产品,但很不顺利,效果很差,第一个项目组把项目做成功的原因是这哥们技术真的不错,肯专研,可惜后来离职了,而其他项目
如果冯巩的开场白是“观众朋友们,我想死你们了”,那么我的开场白是“最近一直很忙,很久没有发文了”。
1、 1.4.3以上版本将不再承诺支持ie6/ie7。 2、如果是aspx 需要加上 ValidateRequest="false" 3、Web.config <system.web> <httpRuntime requestValidationMode="2.0" maxRequestLength="102400" /> </system.web> 这里使用百度编辑器1.4.3。包可移植官网下载。 http://pan.baidu.com/s/1ntG3Tsl 1、百度编辑器不依赖于
一、此文是Code Project社区2010年4月ASP.NET板块的最佳文章,说明了此文的份量;
原帖地址:http://www.cnblogs.com/caviare/archive/2007/09/21/901500.html
在ASP.NET 2.0中,引入了MasterPage的机制,在当前页使用MasterPage的情况下,放在 ContentPlaceholder1这样的内容页的控件无法用Page.FindControl来查找,原因何在? MSDN对FindControl的解释:在当前的命名容器中搜索带指定 id 参数的服务器控件 这里有一篇文章阐述阐述FindControl方法和INamingContainers接口:http://www.odetocode.com/Articles/116.aspx FindContr
文本框控件TextBox, TextMode:值SingleLine表示单行文本,MultiLine表示多行文本,等等。 textbox.jpg 下拉列表控件DropDownList,单项按钮
领取专属 10元无门槛券
手把手带您无忧上云