即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

ASP.Net学习和进阶学习和进阶笔记014–ViewState初探3

编程语言 lidew521 11℃ 0评论

ASP.Net学习笔记014–ViewState初探3


为什么禁用了viewstate,还能修改label2的值


因为:viewstate只是记录label2的值,并不影响给label2进行设置


——————————————–


在原来的source中添加:








宽度自增.aspx.cs


using System;


using System.Collections.Generic;


using System.Linq;


using System.Web;


using System.Web.UI;


using System.Web.UI.WebControls;








public partial class 宽度自增 : System.Web.UI.Page


{


    protected void Page_Load(object sender, EventArgs e)


    {


        if(!IsPostBack ){//直接进入的时候设置为0


            Label1.Text = “0”;


            //IsPostBack这里的IsPostBack就是,以前讲的通过隐藏字段传递的


        }


    }


    protected void Button1_Click(object sender, EventArgs e)


    {//取到label的值,然后自增后赋值回去


        Response.Write(Label1.Text .Length );


        return;


        int i = Convert.ToInt32(Label1.Text);


            i++;


            Label1.Text = i.ToString();


    }








    protected void Button2_Click(object sender, EventArgs e)


    {


        //值自增


        int i = Convert.ToInt32(TextBox1.Text);


        i++;


        TextBox1.Text = i.ToString();


        //宽度自增


        //TextBox1 .Width.Type  = UnitType.Pixel;


        //通过上面这个代码可以看到:


        //这个宽度的单位是unit


        TextBox1.Width = new Unit(TextBox1 .Width .Value +10);


        //每次都增加十个像素


    }


//这节课添加的代码:———————————————–


    protected void Button3_Click(object sender, EventArgs e)


    {


        Response.Write(Label2.Text);


        //可以看到这里就不能打印出Label2.Text的值100了,而是取出了给label2赋的默认值10


        //因为表单提交的时候,viewstate被禁用,所以导致无法从viewstate中取旧值


        Label2.Text = “100”;


    }


    //这节课添加的代码:———————————————–


}


—————————-


在宽度自增.aspx中添加控件


label2,button3


<%@ Page Language="C#" EnableViewState="False" AutoEventWireup="true" CodeFile="宽度自增.aspx.cs" Inherits="宽度自增" %>























   


   









   



   


   


   

   0


       


       


       


   









   









———————————–


执行效果:


点击button3之后,label2会变成100,但PEI是通过response.write打印的值


一直都是10


———————————————


 protected void Button3_Click(object sender, EventArgs e)


    {


        Response.Write(Label2.Text+”
“);//这个打印会打印出10


//禁用viewstate,就读不到上次给客户端的值,


        //可以看到这里就不能打印出Label2.Text的值100了,而是取出了给label2赋的默认值10


        //因为表单提交的时候,viewstate被禁用,所以导致无法从viewstate中取旧值


        Label2.Text = “100”;//禁用viewstate不影响对控件赋值,写入


        Response.Write(Label2.Text + “
“);


//这个打印会打印出100


//禁用viewstate,在请求没有结束之前也能读出设置的值


    }

转载请注明:CodingBlog » ASP.Net学习和进阶学习和进阶笔记014–ViewState初探3

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情