浅谈ASP.NET客户端回调
来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 02:26 点击:次
最近同学要做一个项目,需求是:音乐播放器。大致UI如图:
点击右边的“X”图标,可以删除当前选定的这首歌。因为现实界面的代码是复制过来的,并且前辈使用的是拼接字符串,然后绑定到页面的。没有使用ASP.NET服务器控件,所以要做点击图标,然后删除的事件,与我们平时开发有所不同了。我觉得有3中方案可以解决这个问题。
1.最坏的办法,把这个UI界面使用GridView呈现,GridView是服务器控件,所以最后一列可以是ImageButton,然后就有了服务器控件事件。解决起来就是,之前的原生态的HTML代码都删除掉,然后重新写代码。同学自己就是用的这种方式,这种方法便于理解,容易修改出来。
2.使用AJAX+Handler,就是用Ajax调用一个asp.net handler处理,handler处理的好处是,结构和代码进行了分离,这种方式也是容易接受。
3.使用ASP.NET自身的回调函数。具体参考:客户端回调实现 (C#) 示例 http://msdn.microsoft.com/zh-cn/library/ms178210.aspx 。
在MSDN实例中,客户端回调给出了一个解决方案:项目中需要在客户端使用JavaScr操作后台的C#代码,然后它底层实现这些原理,而这些原理都封装好了,我们按照它提供的接口和结构去实现就好了。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Client Callback Demo</title>
<script type="text/javascript">
function deleteIt(_this) {
var item = _this.parentNode.parentNode.firstChild.innerText;
//alert(item);
//alert("确定删除第 "+item+" 条记录吗?");
CallServer(item,"");
}
function ReceiveServerData(rValue) {
//document.getElementById("ResultSpan").innerHTML = rValue;
alert(rValue + "页面重新加载中");
//将页面刷新,重新读取数据库数据
window.location.href = window.location.href
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<%= result%>
</div>
</
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>