案例讲解asp.net中jquery post的用法

一、post案例:

1.前台default.aspx:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>$.post发送请求</title>
    <script type="text/javascript"
            src="Jscript/jquery-1.4.2-vsdoc.js">
    </script>
    <script type="text/javascript"
            src="Jscript/jquery-1.4.2.js">
    </script>
    <style type="text/css">
           body{font-size:13px}
           .divFrame{width:260px;border:solid 1px #666}
           .divFrame .divTitle{padding:5px;background-color:#eee;height:23px}
           .divFrame .divTitle span{float:left;padding:2px}
           .divFrame .divContent{padding:8px}
           .divFrame .divContent .clsShow{font-size:14px}
           select,input{float:left}
           .txt{border:#666 1px solid;padding:2px;width:80px;margin-right:3px}
           .btn {border:#666 1px solid;padding:2px;width:50px;
           filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff, EndColorStr=#ECE9D8);}
    </style>
    <script type="text/javascript">
    $(function() {
            $("#Button1").click(function() { //按钮单击事件
                //打开文件,并通过回调函数返回服务器响应后的数据
                $.post("Handler.ashx",
                { name: encodeURI($("#txtName").val()),
                   sex: encodeURI($("#selSex").val())
                },
                function(data) {
                    $("#divTip")
                    .empty() //先清空标记中的内容
                    .html(data); //显示服务器返回的数据
                })
            })
        })
    </script>
</head>
<body>
   <div class="divFrame">
         <div class="divTitle">
              <span>姓名:</span>
              <input id="txtName" type="text" class="txt" />
              <select id="selSex" style="height:22px;margin-right:3px">
                 <option value="">选性别</option>
                 <option value="男">男</option>
                 <option value="女">女</option>
              </select>
              <input id="Button1" type="button"
                     class="btn" value="请求" />
         </div>
         <div class="divContent">
              <div id="divTip"></div>
         </div>
    </div>
</body>
</html>

2.后台handler.ashx

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        //context.Response.ContentType = "text/plain";
        //context.Response.Write("Hello World");
        string strName = System.Web.HttpUtility.UrlDecode(context.Request["name"]);//解码姓名字符
        string strSex = System.Web.HttpUtility.UrlDecode(context.Request["sex"]);//解码性别字符
        string strHTML = "<div class='clsShow'>"; //初始化保存内容变量
        if (strName == "<span style="font-family: Arial, Helvetica, sans-serif;">陶国荣</span>" && strSex == "<span style="font-family: Arial, Helvetica, sans-serif;">男</span>")
        {
            strHTML += "姓名:陶国荣<br>";
            strHTML += "性别:男<br>";
            strHTML += "邮箱:[email protected]<hr>";
        }
        else if (strName == "<span style="font-family: Arial, Helvetica, sans-serif;">李建洲</span>" && strSex == "<span style="font-family: Arial, Helvetica, sans-serif;">女</span>")
        {
            strHTML += "姓名:李建洲<br>";
            strHTML += "性别:女<br>";
            strHTML += "邮箱:[email protected]<hr>";
        }
        strHTML += "</div>";
        context.Response.Write(strHTML);
       //context.Response.Write("return");//如直接返回字符,前台function中的data则为纯字符串“return”
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

3.说明:

1.传递的参数中的

name和对应的参数值encodeURI($("#txtName").val()),在函数中即可以表示为{name:encodeURI($("#txtName").val()),}

形式,也可以加对双方加单引号,ashx文件都可以得到参数值

2.encodeURI($("#txtName").val())是对遇到汉字的处理形式,相应的后台需要使用System.Web.HttpUtility.UrlDecode(Request["name"])来进行汉字解码

3.后台尽量使用ashx文件响应,会使得的页面相应速度加快

4.如直接使用context.Response.Write("return"),前台function中的data将得到纯字符串“return”(不含html)

4.结果如图:

另外附加使用服务器控件的案例:

1.前台

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>$.post发送请求</title>
    <script type="text/javascript" 
            src="Jscript/jquery-1.4.2-vsdoc.js">
    </script>
    <script type="text/javascript" 
            src="Jscript/jquery-1.4.2.js">
    </script>
    <style type="text/css">
           body{font-size:13px}
           .divFrame{width:260px;border:solid 1px #666}
           .divFrame .divTitle{padding:5px;background-color:#eee;height:23px}
           .divFrame .divTitle span{float:left;padding:2px}
           .divFrame .divContent{padding:8px}
           .divFrame .divContent .clsShow{font-size:14px}
           select,input{float:left}
           .txt{border:#666 1px solid;padding:2px;width:80px;margin-right:3px}
           .btn {border:#666 1px solid;padding:2px;width:50px;
           filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff, EndColorStr=#ECE9D8);}
    </style>
    <script type="text/javascript">
        $(function () {
            $("#Button1").click(function () { //按钮单击事件
                //打开文件,并通过回调函数返回服务器响应后的数据
                $.post("Handler.ashx",
                {
                    name: $("input[id*=txtName]").val(),
                    sex: $("#selSex").val()
                },
                function (data) {
                    $("#divTip")
                    .empty() //先清空标记中的内容
                    .html(data); //显示服务器返回的数据
                })
            })
        })
    </script>
</head>
<body>
<form runat=server>
   <div class="divFrame">
         <div class="divTitle">
              <span>姓名:</span> 
           
             <asp:TextBox ID="txtName" runat="server"  class="txt" ></asp:TextBox>
             <select id="selSex" style="height:22px;margin-right:3px">
                 <option value="">选性别</option>
                 <option value="男">男</option>
                 <option value="女">女</option>
              </select>
              <input id="Button1" type="button" 
                     class="btn" value="请求" />
         </div>
         <div class="divContent">
              <div id="divTip"></div>
         </div>
    </div>
</form>
</body>
</html>

后台与前面案例相同:

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        //context.Response.ContentType = "text/plain";
        //context.Response.Write("Hello World");

        string strName = System.Web.HttpUtility.UrlDecode(context.Request["name"]);//解码姓名字符
        string strSex = System.Web.HttpUtility.UrlDecode(context.Request["sex"]);//解码性别字符
        string strHTML = "<div class='clsShow'>"; //初始化保存内容变量
        if (strName == "陶国荣" && strSex == "男")
        {
            strHTML += "姓名:陶国荣<br>";
            strHTML += "性别:男<br>";
            strHTML += "邮箱:[email protected]<hr>";
        }
        else if (strName == "李建洲" && strSex == "女")
        {
            strHTML += "姓名:李建洲<br>";
            strHTML += "性别:女<br>";
            strHTML += "邮箱:[email protected]<hr>";
        }
        strHTML += "</div>";
        context.Response.Write(strHTML);
        //context.Response.Write("return");
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

结果显示:

csdn的编辑器好像有点问题哦,着重号都变成了标签来表示,改了好几次,只好将着重部分单独分隔成一段了,希望大家见谅

时间: 2024-10-13 15:59:06

案例讲解asp.net中jquery post的用法的相关文章

asp.net中Page.ClientScript.RegisterStartupScript用法小结(转)

//ASP.NET后台页面跳转 Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('保存成功!是否继续添加?')){location.href='ProductonAdd.aspx'}else{location.href='ProductonList.aspx'}</script>"); //后台弹出确定框 ClientScript.

ASP.NET中application对象的用法(面试题)

ASP.NET中application对象的用法 本文导读:Application对象是HttpApplicationState类的一个实例,Application状态是整个应用程序全局的.Application对象在服务器内存中存储数量较少又独立于用户请求的数据.由于它的访问速度非常快而且只要应用程序不停止,数据一直存在,我们通常在Application_Start的时候去初始化一些数据,在以后的访问中可以迅速访问和检索. 一.Application对象的理解 Application对象在实际

Asp.net中JQuery、ajax调用后台方法总结

通过上一篇文章实例的实现,整个过程当中学习到很多知识点,了解了Jquery.Ajax在asp.net中的运用,加以总结,其实原理都是一样的,理解了一种,其他的注意很少的区别就可以了.灵活运用: 1.有参数的方法调用 示例代码如下:前台jQuery代码:$(function() {  知道的一种就是ajax调后台的方法. 1.有参数的方法调用 示例代码如下: 前台jQuery代码: [plain] view plaincopyprint? <span style="font-size:18p

谨慎Asp.net中static变量的用法

在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是处理过的值,直接拿来用就可以了. 现在转入了BS软件开发,我们很自然地会沿用这种习惯.如在页面中统计某个按钮被按下的次数,先在类中OnClick事件的处理过程前定义一static变量times,则每次调用该按钮的OnClick事件时,令times增1即可,非常方便: [C#]: ... static

ASP.NET中JQuery+AJAX调用后台

做订餐系统手机端时,遇到一个问题,实现登录功能时,我要调用后台的方法进行验证和判断.我们应用的是webForm进行开发的,正常情况下只要绑定按钮的方法,前后台对应就可以实现.但是,手机端应用MUI样式之后,就不适用于这种情况了.基于这个问题,我们使用JQuery+Ajax技术,其实MUI中也自带ajax技术. 实现过程: webForm代码: function login() { var name = document.getElementById("username").value;

Asp.Net中索引器的用法

索引器定义类似于属性,但其功能与属性并不相同.索引器提供一种特殊的方法编写get和set访问器.属性可以像访问字段一样访问对象的数据,索引器可以使用户像访问数组一样访问类成员. 一.索引器特性 1.get 访问器返回值.set 访问器分配值.2.this 关键字用于定义索引器. 3.value 关键字用于定义由 set 索引器分配的值.4.索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制. 5.索引器可被重载.6.索引器可以有多个形参,例如当访问二维数组时.7.索引器使得对象可按照与

asp.net中Page.ClientScript.RegisterStartupScript用法小结

ClientScript.RegisterStartupScript(Page.GetType(), "Show", "alert('" + l_strConferenceNo + "');",true);原型如下 ClientScript.RegisterStartupScript(Type type, string key, string script,bool addScriptTags);区别是bool addScriptTags为tru

ASP.NET中的&lt;%%&gt;介绍

一.主要用于ASP.NET前台绑定用的最多: <%#Eval("")%> <%#Bind("")%> <%=变量%> 1.<%#Eval("数据列")%>主要用于需要进行更改的数据列 如:需要将<%Eval("性别")%>=1:将1转换成女. 首先在.CS文件中定义一个方法: 1 public object ChangeSex(object obj) 2 { 3 if

sql server数据库中raiserror函数的用法

server数据库中raiserror的作用就和asp.NET中的throw new Exception一样,用于抛出一个异常或错误.这个错误可以被程序捕捉到. raiserror的常用格式如下:raiserror('错误的描述',错误的严重级别代码,错误的标识,错误的描述中的参数的值(这个可以是多个),一些其它参数),在官方上的格式描述如下: RAISERROR ( { msg_id | msg_str | @local_variable } { ,severity ,state } [ ,a