个人认为最好用的几个扩展:
var cityList=new Sys.StringBuilder(""); //具体功能类似asp.net的StringBuilder:在字符串的连接中可提高速度
for(var i=0;i<result.length;i++)
var tabRow=String.format("<div class='row' id='lb{0}'><label>{0}:</label>{1}
<a href='javascript:void(0)' onclick='onDel ({0})'>Del</a></div>",result[i].ClassID,result[i].ClassName);
cityList.append(tabRow);
}
需要微软对javascript作了大量的扩展,但个人认为易用性还是不够,所以我在使用的时时候,客户端编程大多还是用Jquery去做,至于jquery库我就没啥资资格说了。
(一)、Web.config配置(后边提供一个完整的供下载)
(二)、页面上一的一些配置
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="AjaxScript/CityList.js" />
<Services>
<asp:ServiceReference Path="service/CityService.asmx" />
</Services>
</asp:ScriptManager>
ScriptManager的声明重要性不说了,一名话:你要用asp.net ajax编程就不能没有这主。<scripts>:调用js文件;<Services>:调用web services文件,
// JScript 文件
var cityClass=new Object(); //定义类别,添加时使用.
// 页面加载处理
$(document).ready(function() {
hiddeProgress();
onShow();
});
// (公用函数)显示操作进程
var showProgress=function()
{
$("#progress").fadeIn("fast");
}
// (公用函数)隐藏操作进程
var hiddeProgress=function()
{
$("#progress").hide();
}
//显示列表:显示调用
var onShow=function()
{
showProgress();
CityService.CityList(onSuccees);
}
//显示列表明:处理显示结果
var onSuccees=function(result)
{
hiddeProgress();
var cityList=new Sys.StringBuilder("");
for(var i=0;i<result.length;i++)
{
var tabRow=String.format("<div class='row' id='lb{0}'><label>{0}:</label>{1} <a href='javascript:void(0)' onclick='onDel({0})'>Del</a></div>",result[i].ClassID,result[i].ClassName);
cityList.append(tabRow);
}
$("#divList").html(cityList.toString());
}
//添加:函数调用
var onCityAdd=function()
{
showProgress();
//为对象赋值
cityClass.ClassID=11;
cityClass.ClassName=$("#CityName").val();
CityService.AddCity(cityClass,onaddSuccees)
}
//添加:处理添加返回结果
var onaddSuccees=function(result)
{
hiddeProgress();
//向数据列表中添加一列
var tabRow=String.format("<div class='row' id='lb{0}'><label>{0}:</label>{1} <a href='javascript:void(0)' onclick='onDelMessage({0})'>Del</a></div>",result,$("#CityName").val());
$("#divList").append(tabRow);
$("#result").html("添加成功,添加的ID值为:"+result);
}
//删除:删除提示
var onDelMessage=function(ClassID)
{
if(confirm("你真的要删除此记录吗?")==true)
onDel(ClassID);
}
//删除:删除调用
var onDel=function(ClassID)
{
CityService.CityClassDel(ClassID,onDelSuccees,onDelFailed,ClassID);
}
//删除:删除调用处理
var onDelSuccees=function(result,context)
{
if(result>0)
{
$("#lb"+context).fadeOut("fast");
$("#result").html("成功删除了,ID为"+context+"的记录.");
}
else
{
$("#result").html("删除失败!");
}
}
//删除:错误处理
var onDelFailed=function()
{
}
/// <summary>
/// 添加
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[WebMethod]
public int AddCity(CityClassEntity model)
{
return CityClassBLLBase.Create_CityClassInsert(model);
}
/// <summary>
/// 显示列表
/// </summary>
/// <returns></returns>
[WebMethod]
public IList<CityClassEntity> CityList()
{
return CityClassBLLBase.Get_CityClassAll();
}
/// <summary>
/// 删除
/// </summary>
/// <param name="ClassID"></param>
/// <returns></returns>
[WebMethod]
public int CityClassDel(int ClassID)
{
return CityClassBLLBase.Create_CityClassDelete(ClassID);
}
}
对不起时间太晚了:明天附上原码供参考,如有不对的敬请大家指正。谢放大家