1.最原始的XmlHttpRequest对象,这种方面代码量大。
//跨浏览器获取XmlHttpRequest对象
function AjaxXmlHttpRequest()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
return xmlHttp;
}
2.用asp.net ajax中UpdatePanel。把局部控件包含到UpdatePanel中实现局部刷新,但这种方法效率比较低。
3.jquery,extjs等第三方js库。jquery这种方面效率比较高一直在用。extjs是基于组件级的用起来没有jquery好用。
4.DevExpress提供的服务器端控件可以注册客户端事件,来显示另一个服务器端控件的局部刷新。
下拉列表:
<dxe:ASPxComboBox runat="server" ID="dl_department" DropDownStyle="DropDownList" EnableIncrementalFiltering="True"
EnableSynchronization="False" ClientInstanceName="dl_department" OnCallback="dl_department_Callback"
Width="160px">
<ClientSideEvents SelectedIndexChanged="function(s, e) {
EmployeeView.PerformCallback(s.GetSelectedItem().value);
}" />
</dxe:ASPxComboBox>
gridview:
<dxwgv:ASPxGridView ID="EmployeeView" runat="server" ClientInstanceName="EmployeeView" KeyFieldName="F_RYBH"
Width="262px" AutoGenerateColumns="False" OnCustomCallback="EmployeeView_CustomCallback"
>
<Columns>
<dxwgv:GridViewCommandColumn ShowSelectCheckbox="True" VisibleIndex="0" Caption="选择">
</dxwgv:GridViewCommandColumn>
<dxwgv:GridViewDataColumn Caption="编 号" FieldName="F_RYBH" VisibleIndex="2" Width="80px">
<CellStyle Wrap="False">
</CellStyle>
</dxwgv:GridViewDataColumn>
</Columns>
</dxwgv:ASPxGridView>