自己虽然以前也用ajax但总感觉那里觉得不对,以前ajax都是请求aspx页面,那页面多的数不清,自己也觉得很乱。
自己最近在工作中,也觉得同事用的jquery+ashx用起来相当的简洁方便。帮在这里做了一个小的demo来
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxGet.aspx.cs" Inherits="AjaxGet" %>
<!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 runat="server">
<title>无标题页</title>
<script type="text/javascript" src="misc/js/jquery-1.2.6.js"></script>
</head>
<body>
<script type="text/javascript" language="javascript">
function GetCategoryData(type)
{
alert("test start");
$.ajax({
type:'GET',
url:'AjaxService/Handler.ashx',
dataType: 'text',
data:'type='+type,
success:function(msg)
{
alert(msg);
$("#category").html(msg);
},
error: function(data){
alert(data);
}
})
}
</script>
<form id="form1" runat="server">
<div>
<input type="radio" value="1" name="wangtao" onclick='GetCategoryData(this.value)' />
<input type="radio" value="2" name="wangtao" onclick='GetCategoryData(this.value)' />
<select id="category" >
</select>
</div>
</form>
</body>
</html>
前台页后很简单了,就是两个radio和一个select。要把选中的radio的值放在select中去。
后台ashx代码
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Text;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
StringBuilder strBul = new StringBuilder();
strBul.Append("<option value='wangtao'>");
strBul.Append( context.Request.Params["type"].ToString());
strBul.Append("</option>");
context.Response.ContentType = "text/html";
context.Response.Write(strBul.ToString());
}
public bool IsReusable {
get {
return false;
}
}
}
虽然很简单,但可以供大家举一反三。