首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘

ViewState对应项中的值可以存储任何类型的值(参数是Object类型),实施上任何类型的值存储到ViewState中都会被装箱为Object类型。   ...这里就涉及到网站的性能问题的探讨了:由于ViewState存储在页本身,因此如果存储较大的值,用户请求显示页面的速度会减慢(这对于互联网系统来说,就是一个噩梦。...当然,ViewState帮我们实现了某些服务器控件状态保持,因此在非必需的情况下,还是可以适度使用的,特别是在开发企业内部信息系统的场景。   那么,怎样来禁用ViewState呢?...2.3 直到看见XmlHttpRequest才是唯一的答案—UpdatePanel原来如此   正当我们沉浸在UpdatePanel为我们提供的神奇的AJAX世界里时,我们不禁对UpdatePanel...通过借助jQuery Ajax+ashx可以方便地在.Net中进行Ajax开发,并且具有不错的性能,这也是我实习所在的企业中经常用到的方式。

1.8K30

ASP.Net WebForm温故知新学习笔记:一、aspx与服务器控件探秘

页面中只需要通过即可获取该方法的返回值。...这个方法的判断,如果返回值为true才会将请求提交到服务器端; ?   ...2.3 AutoPostBack的那点事   (1)什么是PostBack   比如现在正在访问a.aspx这个页面上,点击页面上的某个submit按钮把数据提交到a.asx.cs进行处理,这个过程则可以看作是...IsPostBack) { this.lblInfo.Text = "第一次来,不是PostBack"; } else { this.lblInfo.Text = "非第一次来,是PostBack...实际上,IsPostBack属性是根据ViewState中的一些特殊的键值对来判断赋值的(因为:每次提交请求后,服务器端都会返回不同的ViewState隐藏域给浏览器端;同样,浏览器每次也会将ViewState

2.9K42
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    主题与皮肤

    主题和皮肤  •通过设置站点、页面、控件的指定属性以声明主题 •皮肤 = 控件的可视属性   –存在于后缀名为.skin的文件当中   –默认皮肤以及已命名皮肤 •主题= 单个或者多个皮肤的组合...-- Default look for DropDownList controls --> DropDownList runat="server" BackColor="hotpink" ForeColor...已经命名皮肤 .没有定义SkinID的皮肤为默认皮肤 具有SkinID定义的皮肤为已命名皮肤 每个控件类型必须具有唯一的SkinID Can be defined in same SKIN file as...-- Default look for DropDownList controls --> DropDownList runat="server" BackColor="blue" ForeColor...默认值为 true 将EnableTheming属性设置为false可以为单独的控件或者整个页面禁止主题功能 DropDownList ID="Countries" EnableTheming

    94950

    C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService(二)

    如果你需要在子类中重新实现一个与父类相似但静态/非静态特性不同的方法,可以在子类中定义一个同名但具有不同特性的方法,而不使用 override 关键字。...共享程序集需要具有强名称(Strong Name)以确保唯一性,并且它的版本号、文化等信息需要明确指定。...强名称(Strong Name):共享程序集通常需要具有强名称,这是为了确保程序集的唯一性和安全性。强名称是一个由公钥加密的哈希值,它包含程序集的名称、版本号、文化信息等。...3)对于一些控件,例如 GridView、DropDownList 等,即使你在 aspx 页面中设置了 EnableViewState="false",它们可能仍然会使用 ViewState 以维护其状态...3、强命名(Strong Naming)GAC 要求程序集是强命名的,即具有唯一的名称、版本号、文化信息,并经过数字签名。强命名确保程序集的唯一性,防止误用、篡改或冒充。

    28510

    网站性能越来越差怎么办?

    若您连 DropDownList 控件的数据来源,都用 SqlDataSource 控件的默认值 - DataSet,则当页面里塞了一堆下拉选单时,性能当然会受影响。...在大多数的情况下,List、Dictionary 等泛型类,拥有较佳的效率,而且是类型安全的。 当然上述前提,是系统要用 .NET 开发,还在靠 ASP 或非 OOP 语言硬撑的旧系统就免谈了。...我说“好”,是因为 UpdatePanel 使部分页面呈现变得相当简单,而说“坏”,是因为它的简便和易用性是以效率和令人啼笑皆非的带宽为代价的。...具有太多 ViewState 的页面会降低性能,并且具有太多 ViewState 的页面在 ASP.NET 应用程序中都太常见。...通常在回发期间传送到服务器的 ViewState 数据(与其他数据)也会在 UpdatePanel 回调期间传送。

    1.1K32

    ASP.NET页面事件:顺序与回传详解

    返回空将会导致强制执行非回传,返回Request.Form则强制执行一个回传。除非在特殊情况下,否则并不建议去操作这个,因为这个还会影响其他的事件。   ...不过,ViewState和传回的值还不会应用到控件上,因此,任何被代码或用户改变的值还没有被恢复到控件上。这个方法通常是最好的创建、重创建动态控件的好地方。   ...默认的实现中ViewState是一种Base64格式编码,并且被保存在页面的隐藏域中,您可以使用这篇文章中提及的方法修改ViewState按以上两种方式保存。...这个方法通过匹配控件的名称恢复相应的用户提交的控件的值,到这一步意味着整个页面都已经被完全恢复了。唯一要记住的是所有动态控件的创建必须在这个方法之前。这个方法也是记录后面的改变事件的方法。   ...任何在这以后创建的控件将可以得到他们的ViewState,但是不能再得到他们的回传的值,并且不会触发任何值改变事件(Change Event)。

    1.1K20

    我自己写的一个分页控件(源码和演示代码)PostBack分页版 for vs2003、SQL Server

    4、支持查询条件,您可以很方便的添加查询条件,实现复杂的检索功能。     5、利用ViewState 来保存一些信息,节省服务器的资源。         ...比如在第一次显示数据的时候会统计总记录数,然后把总记录数保存到ViewState里面,当点击下一页的时候不用重新统计。         ...还有其他的信息也会保存到 ViewState  里面。     6、在百万级数据下也有很好的表现,下面有测试数据,不信的话,可以下载demo亲自测试。     ...7、使用方便,只需要设置几个属性就可以,不必处理分页时产生的事件。     8、支持多种显示数据的控件,比如DataGrid、DataList、Reapeter、DropDownList等。...第一种算法针对的是一个排序字段,且排序字段没有重复值的情况。  第二种算法针对的是多排序字段的情况。

    1K50

    常见 Datagrid 错误

    例如,Datagrid 处于“Edit”(编辑)模式时,忽略该项检查将导致已编辑的值被数据源中的原始值覆盖。然而,该规则至少有一个主要的例外,请参阅持续使用大型 ViewState。...ASP.NET 在每个控件的 ID 前面加上该控件层次结构中每个命名容器的 ID,这样 Textbox 将具有唯一的 ID,与页面中所有其他控件的 ID 都不相同。...要检索需要查找的“MyTextBox”值,需要对适当的 DataGridItem 调用 FindControl 方法。该 DataGridItem 用作 TextBox 的父命名容器。...CType,将会把返回值由 Object 类型强制转换成 TextBox 类型,以访问 .Text 属性。...也可以考虑使用折衷的 DataList 控件,它具备编辑和排序功能,同时还具有在一行内重复显示记录的功能。

    2.4K20

    .NET工作准备--04ASP.NET

    net宿主的概念,ISAPI的概念,ASP.NET基本运行机制; .net宿主的概念:CLR被实现为一个标准的COM服务器组件,CLR具有标准的COM接口和接口GUID,在安装.net时CLR作为一个...COM服务器在OS内注册;可以使用vs自带的oleview查看;CLR实际可以被非托管代码加载使用; 理解难度很大,加油endeavor ISAPI是什么?...ViewState的类型是System.Web.UI.StateBag,它是存储名称/值对的字典;可以使用户在使用动态页面时获得连续性动作的功能;(就是说ViewState并不是存储在服务器中,而是通过不断的在服务器和客户端之间传送...ViewState的数据,解码解密,并且保存入ViewState对象,这时仍然为空; 服务器处理完表单数据,将表单数据存入ViewState,这是ViewState有值。...并且存储了所有ViewState对象内的值.

    2K50

    ASP.NET MVC的Model元数据与Model模板:将”ListControl”引入ASP.NET MVC

    中] 传统的ASP.NET具有一组重要的控件类型叫做列表控件(ListControl),它的子类包括DropDownList、ListBox、RadioButtonList和CheckBoxList等。...如下面的代码片断所示,IListProvider具有唯一的方法GetListItems根据指定的列表名称获取所有的列表项。...参数listName表示使用的预定义列表的名称,而value和values则表示绑定的值。...RadioButtonList/DropdownList只允许单项选择,而ListBox/CheckBoxList允许多项选择,所以对应的值类型分别是string和IEnumerable...CheckBoxWithValue最终还是调用HtmlHelper现有的扩展方法CheckBox生成单个CheckBox对应的HTML,但是方法值支持布尔值的绑定,并且会生成一个在这里不需要的Hidden

    4.8K60

    .NET 页面生命周期

    要注意的一点是,如果是回传(postback)的页面请求,所有控件的值还没有从view state里还原,如果你在这个阶段设置一个控件的值,这个值有可能在下面的阶段被重写并覆盖 2....在这个阶段,theme被应用,所有的控件都被设置了唯一的ID。开发人员在这个阶段可以调用Init, InitComplete和PreLoad 方法。...其次:所有具有DataSourceID的数据绑定控件都会调用自己的DataBind函数。要注意的一点是,PreRender事件会发生在一个页面的每一个控件上。...在这个事件的最后,页面和所有控件的 ViewState被存储。...SaveStateComplete – 到这里,ViewState已经存储完毕,如果你有什么操作不需要修改控件但需要修改ViewState的,可以放在SaveStateComplete里面。 6.

    52820

    Asp.net_Study学习笔记

    session具有自动销毁机制,如果在一段时间内浏览器没有和服务器发生交互,服务器则会销毁session,对于此时的浏览器而言则会需要进行重新登录等操作。...DropDownList绑定数据源:使用DataTextFeild属性设置绑定数据的内容,DataValueFeild属性设置绑定数据的值。...ViewState就是一个隐藏字段,服务器把需要浏览器去记忆的值,放到VIEWSTATE“ 每次表单提交的时候都把__VIEWSTATE提交服务器...,服务器再根据__VIEWSTATE还原ViewrState 通过代码进行赋值的属性的值都会放到ViewState中。...而aspx中的初始值则不会 禁用ViewState(设置:EnableViewState=“false”),客户端只会保留基本的__VIEWSTATE AJAX 异步的js和XML。

    23210

    Flex笔记_验证用户输入

    唯一的能力是检查用户是否为所针对的空间提供了值。 只能执行简单的Boolean检查。 StringVAlidator 具有检查...能够接受三个独立的输入控件,分别保存了年、月、日;也可以使用一个标准的源,保存的值应该是mm/dd/yy这种格式;也可以使用一组字段,分别捕获日期的各个部分,然后配置dateValidator来理解每个字段分别代表日期的哪一个部分...唯一可以自行配置的属性是错误消息。 检查电子邮件地址是否有效:不包含空格,特殊字符,不缺少字符,等等。 <?xml version="1.0" encoding="utf-8"?...脚本式验证 可以在任何时候都验证用户输入的值。 重用同一个验证器验证多个值时,可以使用相应的ActionScript版本。 要验证的值不一定来自用户输入控件,也可以是其它的值。 <?

    2.9K20

    领悟Web设计模式

    SqlConnection conn = new SqlConnection( ConfigurationSettings.AppSettings["ConnectionString"] ) ) { //用下拉列表选择的值替换掉...( dataSet ); dataGrid.DataSource = dataSet; dataGrid.DataBind(); } } image.png 执行结果如图所示,程序将根据下拉列表框选择的值绑定...一个优秀的设计需要每一个模块,每一种方法只专注于做一件事,这样的结构才清晰,易修改,毕竟项目的需求总是在不断变更的,“唯一不变的就是变化本身”,好的程序一定要为变化作出准备,避免“牵一发而动全身”,所以一定要想办法解决上述问题...Execute操作,具体的Command子类将接收者作为其一个实例变量,并实现Execute操作,指定接收者采取的动作,而接收者具有执行该请求所需的具体信息。...,把GetDataSet( SQL_SELECT_PORTAL )取出的内容作为Cache的值。

    1.2K50

    c#面试题汇总

    对值类型装箱将把该值类型打包到 Object 引用类型的一个实例中。这使得值类型可以存储于垃圾回收堆中。拆箱将从对象中提取值类型。 每个类型成员都有一个唯一的签名。...方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成。只要签名不同,就可以在一种类型内定义具有相同名称的多种方法。当定义两种或多种具有相同名称的方法时,就称作重载。...因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段是编译时常数,而 readonly 字段可用于运行时常数。   ...编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。 b)项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。...页面返回前将界面的状态序列化到ViewState中,这样就将状态保存在了浏览器中,下次页面提交的时候会顺便再将ViewState提交到服务器,这样服务器就根据ViewState还原了状态,这样WebForm

    5.2K20

    程序员级别鉴定书(.NET面试问答集锦)

    · 什么叫作ViewState?是什么编码?加密了吗?到底是谁在使用ViewState? 元素是做什么的?它在 ASP.NET下是做什么用的?...面向对象:强调对具有相同行为和属性事物的封装,更注重封装的完整性和功能的完整性。 面向方面:主要提供与业务逻辑无关的操作。...通过签发具有强签名的程序集合,可以确保名称的全局唯一性!因为强名称是依赖于唯一的密钥对来确保名称的唯一性,其他人不会生成与你相同的程序集名称(不同的私钥产生的名称不同)。...强名称保护程序集的版本沿袭,因为强名称的唯一性能够确保没有其他人能够生成你的程序集的后续版本。...拆箱就是引用类型转换为值类型,通常伴随着从堆中复制对象实例的操作 装箱就是值类型数据转换为Object类型的引用对象 string 是值类型还是引用类型?

    1.8K70
    领券