首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    动态控件的新思路

    常常有如此感叹:动态控件好加,但是状态维持困难。就是说,加入动态控件很容易,关联处理事件也不难,但是对于控件的状态把握,却很麻烦。...往往需要在load时重新加载一次动态控件,总之处理起来很烦。         今天尝试了一个新的思路,很简单,在页面最下方直接放上控件,隐藏,加载时加载它即可。这样,状态也能够轻松保持了。...实际上,它是一个静态控件。         用于:动态控件数目确定的情况。         后续:发现这种方式也有问题。      .../*       * 对于页码输入框,原来采用的是在外面放一个静态控件,在下面的处理时add过来,这样就不用处理viewstate了,       * 但是,有些页面没有问题,有些页面报错:不能修改父级控件集合...* 如果采用动态控件,最大的问题是要处理状态,非常麻烦,牵扯过多。最后,采用一个简单的方案,通过Request.Form       * 集合采集值。

    93970

    获取Repeater控件里动态声称的控件的值

    而且如果将TextBox控件和单一的回帖人关联则会导致后台代码冗余,也不利于维护和扩展吗,显得不灵活不显示。 QQ空间的留言本里面也是类似的情况。...一般对这种重复的数据读取我们经常是用Repeater控件来做,而且也能比较灵活得分页,更可贵的是它能够做到动态生成控件。 下面我们就来实现类似QQ留言和回复留言的效果。...红色部分是一个隐藏的Div层,里面是一个TextBox控件和一个用于提交回复留言的LinkButton控件。 本来这个层是隐藏的,正常情况下是看不到的。...这个时候就有一个问题了:我们是怎么获得Repeater控件里面的控件值的(注意:这个控件是“活的”,是在运行的时候根据客户来输入的,而不是我们定死的内容,如Label控件!)...,RepText是一个TextBox控件,主要是接收客户点击的项中的回复留言的内容。

    1.9K40

    jQuery游戏节点的动态新增和删除的实现

    -- 页面结构,最外层的是一个div.盒子容器; 3个单独的dl,带有项目和描述的描述列表 dl的结构:包括一个dt(标题)若干个dd描述; 两个目标: 第一个:删除功能...;删除游戏本身; 第二个:新增游戏;新增的是一个dl节点,包含了若干的html代码。...//游戏待完善代码 //Author:写上你的名字; $(function(){ //加载事件; //任务1:先找删除选择器a标签 // $(".del").click...(function(){ // //要明白删除的是哪个选择器对象;删除按钮和要删除对象的关系 // //要掌握当前节点和待删除节点的关系; // $(this)....parent().parent().remove(); // }); //动态删除新增节点 $(document).on('click', '.del', function

    4500

    常见 Datagrid 错误

    运行时不必要地在 Datagrid 中动态创建 Datagrid 控件或列 在某些业务和技术方案中,在运行时创建 ASP.NET 控件是必要的,也是完全合适的。...或是要创建一个复合服务器控件,其中的每个子控件都需要动态创建,因为无法以声明的方式创建这些子控件。如果遇到这些情况,请注意,提交页面时不要保留这些动态控件。...必须在页面生命周期的早期,在每次回发时重新创建动态控件(例如在 Page_Init 事件中)。警言:创建控件要早,创建控件要勤。...换句话说,不要动态创建控件,以避免因为创建控件使 ASPX 文件变得散乱。...也可以考虑使用折衷的 DataList 控件,它具备编辑和排序功能,同时还具有在一行内重复显示记录的功能。

    2.4K20

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

    不过,ViewState和传回的值还不会应用到控件上,因此,任何被代码或用户改变的值还没有被恢复到控件上。这个方法通常是最好的创建、重创建动态控件的好地方。   ...这个方法主要用于恢复您在其他事件中动态生成的控件的值,他们的值是您手动保存在ViewSate中,并且现在已经失效。   ...这个方法通过匹配控件的名称恢复相应的用户提交的控件的值,到这一步意味着整个页面都已经被完全恢复了。唯一要记住的是所有动态控件的创建必须在这个方法之前。这个方法也是记录后面的改变事件的方法。   ...但实际上这个方法是必要的因为在OnLoad中创建的动态控件也需要他们回传的值。...在整个页面生存期中,是在这儿根据之前的ProcessPostData记录的控件的值和提交的值是否不同来触发值改变事件。您也许需要调用Validate或者检查IsValid的值。

    1.1K20

    Asp.net页面生命周期

    ,当然也可以在这里生成动态服务器控件,并生成页面的控件树;b.动态设置Theme属性。...因为Request对象不是在HttpHandler中实例化的,具体请参考:asp.net管道模型(管线模型)之一发不可收拾)。 4.页面初始化(OnInit):读取页面和控件的值,生成动态服务器控件。...其中ViewState又有页面的ViewState和控件的ViewState,而这里加载的ViewState中包含了这两种。...该事件是管加载,不管恢复,所以执行该方法后控件和页面依然没有回传值和ViewState值。...再补充——生命周期追赶:在后台代码中动态生成控件时,控件会处于其生命周期中的“实例化”阶段,当加入到页面控件树时就会同步到页面当前的生命周期阶段,而两个阶段之间的各个阶段控件都会经历 11.获取在Page_Load

    2.4K80

    c#以POST方式模拟提交表单

    等值的页面";          //如果是asp.net页面,最好是先取到VIEWSTATE和EVENTVALIDATION值一并提交                  ///////////////...string viewStateFlag = "id=\"__VIEWSTATE\" value=\""; //动态抓取__VIEWSTATE的值                  int i = srcString.IndexOf...HtmlControls 中的 Type为button的HtmlInputButton 和其它所有的控件事件,比如LinkButton点击,TextBox的Change事件等等: 这些事件在客户端产生后会经过一个统一的机制发送到服务端...客户端触发事件后调用__doPostBack方法,将表示触发的控件源的eventTarget 和事件参数eventArgument分别付给两个隐藏域__EVENTTARGET和__EVENTARGUMENT...,然后提交Form,在服务端根据__EVENTTARGET和__EVENTARGUMENT来判断是哪个控件的什么事件触发了。

    2.2K90

    网页优化系列三:使用压缩后置viewstate

    Asp.net中的服务器控件都启用了viewstate,虽然方便了开发人员,但页面大小及性能上确实有所影响,对于无需viewstate的控件及页面可以直接把控件或页面的viewstate禁用掉,但对于必须的...state就是页面所有的viewstate集合对象,默认时该对象是经过序列化后保存到__ViewState的隐藏控件中的。...4.压缩完后恢复成以68位的数为基的编码字符串保存到__MyViewState的隐藏控件中,注意不能用回默认的__ViewState保存,否则会出错。...这样ViewState的压缩就KO了。当然Asp.net还可以将ViewState保存到Session里面,设置一下就好了,非常方便,也免得自己来处理多页面出现的ViewState覆盖问题。   ...3.当页面使用ajax.net时并且使用该基类对viewstate作处理,会出现UpdatePanel控件内的更新、删除操作失效,原因暂时不清楚,大家有没有好方法啊??请告诉我吧!

    79250

    viewstate解密

    virtual object SaveViewState() 和 protected virtual void LoadViewState(object savedState) 这两个方法是给子控件派生用来保存和读取自己的...也就是整个页面的控件树的ViewState是怎么保存和读取的呢?...方法) [2] 循环子控件 { 定义两个动态数组,一个保存控件的索引,一个保存递归调用子控件SaveViewStateRecursive方法返回的值 }...SaveViewStateRecursive方法的返回值 [7] 返回Triplet 这样就保存了整个控件树的ViewState和控件树的结构 Load的方式与Save差不多,只是Load...;所以ViewState在安全性上面还是比较差,建议不要 存放比较机密和敏感的信息,尽管ViewState可以加密,但是由于ViewState要保存在客户端,天生就有安全性的隐患。

    1K30

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

    接着转换所有的控件标签并生成页面的html,并且发送回客户端。 2.控件和页面 *什么是静态/动态页面?...注意:现在大型门户网站采用静态页面动态页面相结合的结束,配合缓存技术和负载平衡技术可以支持超大量的并行访问....*简述ViewState功能和实现机制 一般来说,构建BS结构系统最大难点在于如何保存访问的状态,和CS结构系统可以把用户数据保存在客户的内存和存储设备上不同,BS结构的系统没有得到用 户的任何授权,...ViewState的类型是System.Web.UI.StateBag,它是存储名称/值对的字典;可以使用户在使用动态页面时获得连续性动作的功能;(就是说ViewState并不是存储在服务器中,而是通过不断的在服务器和客户端之间传送...); asp.net中有些控件本身实现类保存数据的功能,而不依靠ViewState.例如TextBox,即使ViewState关闭,数据也不会丢失;ViewState可以保存任何可序列化的对象,而不仅仅限于控件的状态数据

    2K50

    网页优化系列三:使用压缩后置viewstate

    Asp.net中的服务器控件都启用了viewstate,虽然方便了开发人员,但页面大小及性能上确实有所影响,对于无需viewstate的控件及页面可以直接把控件或页面的viewstate禁用掉,但对于必须的...state就是页面所有的viewstate集合对象,默认时该对象是经过序列化后保存到__ViewState的隐藏控件中的。...4.压缩完后恢复成以68位的数为基的编码字符串保存到__MyViewState的隐藏控件中,注意不能用回默认的__ViewState保存,否则会出错。...这样ViewState的压缩就KO了。当然Asp.net还可以将ViewState保存到Session里面,设置一下就好了,非常方便,也免得自己来处理多页面出现的ViewState覆盖问题。   ...3.当页面使用ajax.net时并且使用该基类对viewstate作处理,会出现UpdatePanel控件内的更新、删除操作失效,原因暂时不清楚,大家有没有好方法啊??请告诉我吧!

    77060

    ViewState 剖析

    大家好,又见面了,我是你们的朋友全栈君。 ViewState 不是什么? 1. ViewState 不是用来恢复回发的控件的值。 这个是通过匹配 form 中该控件的变量名而自动完成的。...这个只对 Load 事件加载之前创建的控件有效。 2. ViewState 不会自动重新创建任何通过代码动态创建的控件。 3. 不是用来保存用户信息的。仅仅保存本页的控件状态,而不能在页面之间传递。...ViewState 是什么? ViewState 用来跟踪和保存控件的状态信息。否则这些信息可能会丢失,原因可能是这些值不随着 form 回发,或者根本就不在 page 的 html 中。...ViewState 中保存着代码中改变的控件属性,通过代码绑定到控件的任何数据,以及由用户操作触发,回发的任何更改。...Second 对象: 该控件在控件树中的索引的 ArrayList Third 对象: 子控件的类似的三元组的 ArrayList Listing 5: ViewState Decode/Parse

    47530

    ASP.Net ViewState的实现

    virtual object SaveViewState()   和 protected virtual void LoadViewState(object savedState)   这两个方法是给子控件派生用来保存和读取自己的...也就是整个页面的控件树的ViewState是怎么保存和读取的呢?   ...方法)     [2] 循环子控件      {          定义两个动态数组,一个保存控件的索引,一个保存递归调用子控件SaveViewStateRecursive方法返回的值     ...保存递归子控件SaveViewStateRecursive方法的返回值     [7] 返回Triplet    这样就保存了整个控件树的ViewState和控件树的结构    Load的方式与Save...;所以ViewState在安全性上面还是比较差,建议不要 存放比较机密和敏感的信息,尽管ViewState可以加密,但是由于ViewState要保存在客户端,天生就有安全性的隐患。

    1K30

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

    开篇:经历了上一篇《aspx与服务器控件探秘》后,我们了解了aspx和服务器控件背后的故事。这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下。...,Dictionary和Session都是存储在服务器端的。...(2)大隐隐于市的“页面级”隐藏字段   跟Session和Dictionary的存储位置不同,ViewState的作用域是页面,也就是说ViewState是存储在浏览器的页面之中的(这里相比Session...默认情况下 ViewState 将被启用,并且是由每个控件(而非页面开发人员)来决定存储在 ViewState 中的内容。...②控件级禁用ViewState:在某些场景中,我们只希望禁用某个控件(例如Repater)的ViewState,其他控件仍然通过ViewState保持状态。

    1.8K30

    项目小结:日立OA系统(Asp.net)

    3.压缩css文件和js文件,主要就是去空白行、缩写变量名;(注意:这里要分发布版和开发版,因为压缩后的css和js文件真的是无法维护的)   现在优化效果不大,没办法控件多、页面体积大嘛!...4.关闭表格中服务器控件的ViewState(大部分控件用于显示,每次回传都重新生成一次,启用ViewState太多余了),关闭后大大减小了页面体积;   5.压缩该页面的ViewState并后置。...压缩ViewState进一步减小页面体积;因为ViewState默认是放在靠近标签的地方,而ViewState对于浏览器来说是一堆放在隐藏控件的无用字符串,但浏览器同样要花力气去加载和解释它...,将ViewState后置就可以尽快让浏览器加载解释可视化元素,但后置的前提是ViewState不大,否则页面貌似呈现完成,而因ViewState过大而实际仍然加载解释,此时用户点击某个服务器控件就悲催了...点击每行的修改按钮时弹出一个div,异步取数据,修改完后发送异步请求保存数据并用js修改该行的新值;点击删除按钮时,异步发送请求给服务器删除记录,然后用js修改当前行的所有td为空白并在行内首个td中标明

    3.2K50
    领券