html 代码如下:
View Code
1 <a id="ViewInfo" href="javascript:void(0)" class="link" onclick="ViewMsg(<%#Eval("RecordID")%>);return false;">查看全部a>
2 <div id="ViewMsg" style="background-color:#fff; padding:10px;" class="inbox">
3 <p>
4 <b>
5 <label id="lblSender">label>
6 b>
7 <label style="margin-left: 10px;">
8 <label id="lblSendTime">label>
9 label>
10 p>
11 <p>
12 <label id="lblContent">label>
13 p>
14 <p style="text-align:right;">
15 <input type="button" class="button" value="关闭本页" onclick="closeViewMsg();" />
16 <input id="delMsg" type="button" class="button" value="删除本消息" />
17 p>
18 div>
引用 jquery.js 和 date.f-0.5.0.js(json 日期转换)
function ViewMsg(id) {
$.ajax({
type: "post",
cache: false,
url: "/user/accountmanage/mymessage/MsgHandler.ashx?id=" + id + "&type=view",
datatype: "json",
data:'',//可以在这里写需要http请求的参数。
success: function (data) {
$('#lblSender').html(data.Sender);
$('#lblSendTime').html(new Date(parseInt(data.SendTime.substr(6))).f('yyyy-MM-dd'));//json 日期字符串转换成 string日期 格式
$('#lblContent').html(data.Content1);
var message = data.RecordID;
$('#delMsg').bind('click', { msg: message }, function (event) {
confirm("确定要删除?");
$.ajax({
type: "post",
cache: false,
url: "/user/accountmanage/mymessage/MsgHandler.ashx?id=" + event.data.msg + "&type=del",
datatype: "text",
success: function (data) { location.href = location; },
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('');
}
});
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('');
}
});
}
新建一个一般处理程序 MsgHandler.ashx :
public class MsgHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.QueryString["type"] == "view")
{
context.Response.ContentType = "application/json";
int id = JSSDW.Utils.StringUtils.ToInt32(context.Request.QueryString["id"], 0);//这个是把string类型转换为int类型,默认为0,可以直接用convert.into32()
WebBiz.Message messageBiz = new WebBiz.Message();
Interface.Message message = messageBiz.GetMessageInfo(id);
string json = new JavaScriptSerializer().Serialize(message);//把实体类转为json格式输出
context.Response.Write(json);
}
else
{
context.Response.ContentType = "application/text";
int id = JSSDW.Utils.StringUtils.ToInt32(context.Request.QueryString["id"], 0);
WebBiz.Message messageBiz = new WebBiz.Message();
messageBiz.DeleteMessageInfo(id);
context.Response.Write("删除成功");
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
$.ajax({
type:'post',//这里页面数据发送请求的方式可以为post和get
cache:'false ', //这里可以为false或者true 是否要缓存 ,默认为false
url : 'XXXXX/XXX.ashx',//这里页面通过webhttprequest 请求处理的类路径最好写物理路径
datatype:'json',//这里传出的数据格式可以为json类型和text类型
data: flag:'del',id:'ID',$('#id').val()//这里可以写入你要传过去处理的数据和类型等等
success:function(data){},//这里返回经过处理的得到的服务端数据
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('');
});
这样就可以实现页面的局部数据的服务端和客户端数据交互了。我不知道这是不是有些人说的异步调用。。。新人刚刚学习不要见怪。
