.net post、get传值与isPostBack原理

来源:互联网 发布:慕情捏脸数据 编辑:程序博客网 时间:2024/05/18 01:51

 

 

post:是通过http报文头传值(接收值的时候用Request.Form[""])

get:是通过地址栏Url传值(接受值的时候用Request.QueryString[""])

isPostBack:是判断是否为第一次加载或者说是否有表单提交

 

下面用一般处理程序解释post、get传值和isPostBack原理

 

post 传值:

public void ProcessRequest (HttpContext context) {

       // 画出一个文本框和一个提交按钮

        context.Response.Write(@"<form action='' method='post'><input type='text' name='txtName' />
                <input type='submit' />
                </form>");

        // 用来接收文本框中的值
        string name = context.Request.Form["txtName"];
        context.Response.Write("您输入的是:" + name); // 第一次加载输出为空,在文本框中输入内容点击提交按钮会显示输入内容

}

=====================

 

Get传值:

public void ProcessRequest (HttpContext context) {

           context.Response.Write(@"<form action='' method='get'><input type='text' name='txtName' />
                <input type='submit' />
                </form>");
        string name = context.Request.QueryString["txtName"];
        context.Response.Write("您输入的是:" + name);

}

==================

 

isPostBack原理:

public void ProcessRequest (HttpContext context) {

     // 由于第一次加载context.Request.Form["isPostBack"]))为空值所以不会显示"您输入的是:"文字

     if (string.IsNullOrEmpty(context.Request.Form["isPostBack"]))
        {
            context.Response.Write(@"<form action='' method='post'><input type='text' name='txtName' />
                <input type='submit' />
                <input type='hidden' value='1' name='isPostBack'>
                </form>");
        }
        else
        {
            context.Response.Write(@"<form action='' method='get'><input type='text' name='txtName' />
                            <input type='submit' />
                            <input type='hidden' value='1' name='isPostBack'>
                            </form>");
            string name = context.Request.Form["txtName"];
            context.Response.Write("您输入的是:" + name);

        }

}

 

 

 

 

 

原创粉丝点击