近期项目知识点总结之AJAX实用联动实例-(文1)

本文介绍在ASP.NET项目中使用AJAX实现下拉框联动的方法。通过MS提供的AjaxControlToolkit及前后端交互,无需页面刷新即可更新相关字段。
关于联动,在.net中的web项目中经常有人会使用AutoPostBack="true",然后通过触发事件来达到效果。近期的项目中由于设计要求,采用无刷新效果,ajax起到至关重要的角色。

以下采用下拉框的联动效果说明使用方法:

1.本人采用MS提供的AjaxControlToolkit。引用操作就不详述了,如有需要写出请留言吧!

2.用到的控件有

<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" ScriptMode="Release">
        
</asp:ScriptManager>

3.前台HTML代码中和javascript来触发联动很相似

/*此处脚本方法很象c#中的委托*/
<script type="text/javascript">
      
function selectKpbm(value)
        
{
            PageMethods.SelectKPBM(value,settext);
//此方法来调用c# behind cs中的方法
        }

  
/**//*此方法的作用就是根据下拉框的参数,在.cs的SelectKPBM方法中根据下拉框的值,通过运算或者是和数据库交互返回1个数组,至于功能根据各位要求可以随便灵活变通*/  
        
function settext(result)
        
{
            
var ret = document.getElementById( result[2]);
            
var retFzid = document.getElementById( result[3]);
            ret.value 
= result[0];
            retFzid.value 
= result[1]; 
        }

</script>

<asp:DropDownList CssClass="dpd_style" ID="DropDownListKPBM" Width="98%" runat="server"
  TabIndex
="3" onchange="selectKpbm(this.options[this.selectedIndex].value+',TextBoxFZ,TextBoxFZID')">

<asp:TextBox ID="TextBoxFZ" runat="server" MaxLength="10" CssClass="input1" Enabled="false"
                                    Width
="95%"></asp:TextBox>

<asp:TextBox ID="TextBoxFZID" runat="server" MaxLength="10" CssClass="input1"
                                    Width
="95%"></asp:TextBox>


4.后台cs中的selectKpbm也很简单。

//这个方法头一定要加哦,而且要用public的静态方法,因为此方法在前台需要调用。
        [WebMethod]
        
public static string[] SelectKPBM(string str1)
        
{
            
#region 方法功能:根据主键str1.Split(',')[0]从Session数据集DataSourceJgszData中取出对应的记录,然后返回对应记录的其他字段的信息。
            InJcgjBussinessServiceRef.JgszData.JGSZDataTable jdt 
= new BhblmsSystemWeb.InJcgjBussinessServiceRef.JgszData.JGSZDataTable();
            DataRow dr 
= DataSourceJgszData.Tables[0].Rows.Find(str1.Split(',')[0]);
            
string[] result = new string[4];
            
if (dr != null)
            
{
                result[
0= GetCsmc(dr[jdt.SZCSColumn.ColumnName].ToString());
                result[
1= dr[jdt.SZCSColumn.ColumnName].ToString();
            }

            
else
            
{
                result[
0= "";
                result[
1= "";
            }

            result[
2= str1.Split(',')[1];
            result[
3= str1.Split(',')[2];
            
return result;
            
#endregion

        }



写到这里大体方法也说完了,这也就是AJAX最简单的使用了,也许能给新手起敲门的作用,说来我也是新手,大家共同学习!!

转载于:https://www.cnblogs.com/lify0407/archive/2008/05/19/1202400.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值