我是靠谱客的博主 糊涂舞蹈,最近开发中收集的这篇文章主要介绍前台JS(Jquery)调用后台方法 无刷新级联菜单示例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前台JS(Jquery)调用后台方法 无刷新级联菜单示例

前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例

下面是做的一个前台用JQUERY,AJAX调用后台方法做的无刷新级联菜单

CasMenu.aspx页面:

view plain print ?
  1. <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="CasMenu.aspx.cs" Inherits="_Default" %>  
  2.   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  4.   
  5. <html xmlns="http://www.w3.org/1999/xhtml">  
  6. <head runat="server">  
  7.     <title>Porschev--前台JS(Jquery)调用后台方法 级联菜单</title>  
  8.   
  9.     <mce:script src="js/jquery-1.3.2-vsdoc.js" mce_src="js/jquery-1.3.2-vsdoc.js" type="text/javascript"></mce:script>  
  10.     <mce:script type="text/javascript"><!--  
  11.         $(function() {  
  12.             $("#selPro").change(function() {    //省份下拉菜单的change事件  
  13.                 var params = '{str:"' + $(this).val() + '"}';  //此处参数名要注意和后台方法参数名要一致                 
  14.                 $.ajax({  
  15.                     type: "POST",                   //提交方式  
  16.                     url: "CasMenu.aspx/ShowCity",   //提交的页面/方法名  
  17.                     data: params,                   //参数(如果没有参数:null)  
  18.                     dataType: "text",               //类型  
  19.                     contentType: "application/json; charset=utf-8",  
  20.                     beforeSend: function(XMLHttpRequest) {  
  21.                         $('#tipsDiv').text("正在查询...");  
  22.                     },  
  23.                     success: function(msg) {                          
  24.                         $('#tipsDiv').text("查询成功!");  
  25.                         $("#selCity option").each(function() {  
  26.                             $(this).remove();   //移除原有项  
  27.                         });  
  28.                        $("<option value='0'>===请选择===</option>").appendTo("#selCity");   //添加一个默认项  
  29.                         $(eval("(" + msg + ")").d).appendTo("#selCity");        //将返回来的项添加到下拉菜单中  
  30.                     },  
  31.                     error: function(xhr, msg, e) {  
  32.                         alert("error");  
  33.                     }  
  34.                 });  
  35.             });  
  36.         });  
  37.       
  38. // --></mce:script>  
  39. </head>  
  40. <body>  
  41.     <form id="form1" runat="server">  
  42.     <div>  
  43.         Porschev--前台JS(Jquery)调用后台方法 级联菜单<br />  
  44.         <br />  
  45.         <select id="selPro" name="selPro">  
  46.             <%=strPro %>  
  47.         </select>省(直辖市)  
  48.         <select id="selCity" name="selCity">  
  49.             <option value="0">===请选择===</option>  
  50.         </select>(市)  
  51.      </div>  
  52.      <div id="tipsDiv"></div>  
  53.     </form>  
  54. </body>  
  55. </html>  

CasMenu.aspx.cs

view plain print ?
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7. using CasMenuModels;  
  8. using CasMenuBLL;  
  9. using System.Text;  
  10.   
  11. public partial class _Default : System.Web.UI.Page   
  12. {  
  13.     public static string strPro = string.Empty;  //省份下拉项  
  14.     public static string strCity = string.Empty;  //城市下拉项  
  15.   
  16.     protected void Page_Load(object sender, EventArgs e)  
  17.     {  
  18.         if (!IsPostBack)  
  19.         {  
  20.             
  21.         }  
  22.         ShowPro();  
  23.     }  
  24.  
  25.     #region##省份下拉列表框  
  26.     /// <summary>  
  27.     /// 省份下拉列表框  
  28.     /// </summary>  
  29.     /// <returns></returns>  
  30.     public string ShowPro()  
  31.     {  
  32.         StringBuilder str = new StringBuilder();  
  33.         //得到所有省份集合  
  34.         List<CasMenuModels.Province> list = new CasMenuBLL.ProvinceManager().GetAllProvince();                 
  35.   
  36.         //添加一个初始项  
  37.         str.Append("<option value=/"");  
  38.         str.Append("0");  
  39.         str.Append("/">");  
  40.         str.Append("===请选择===");  
  41.         str.Append("</option>");  
  42.          
  43.         //循环追加省份下拉项  
  44.         foreach (CasMenuModels.Province p in list)  
  45.         {  
  46.             str.Append("<option value=/"");  
  47.             str.Append(p.ProvinceId);  
  48.             str.Append("/">");  
  49.             str.Append(p.ProvinceName);  
  50.             str.Append("</option>");              
  51.         }  
  52.         return strPro = str.ToString();  
  53.     }  
  54.     #endregion  
  55.  
  56.     #region##城市下拉列表框  
  57.     /// <summary>  
  58.     /// 城市下拉列表框  
  59.     /// </summary>  
  60.     /// <param name="str">省份ID</param>  
  61.     /// <returns></returns>  
  62.     [System.Web.Services.WebMethod()]  
  63.     public static string ShowCity(string str)   //方法是静态的  
  64.     {  
  65.         StringBuilder strCi = new StringBuilder();  
  66.         if (str == "0")     //为初始项  
  67.         {  
  68.             strCi.Append("<option value=/"");  
  69.             strCi.Append("请选择");  
  70.             strCi.Append("/">");  
  71.             strCi.Append("请选择");  
  72.             strCi.Append("</option>");  
  73.         }  
  74.         else  
  75.         {  
  76.             List<CasMenuModels.City> list = new CasMenuBLL.CityManager().GetAllByProId(Convert.ToInt32(str));   //根据省份ID得到城市集合  
  77.             foreach (City c in list)  
  78.             {  
  79.                 strCi.Append("<option value=/"");  
  80.                 strCi.Append(c.CityId);  
  81.                 strCi.Append("/">");  
  82.                 strCi.Append(c.CityName);  
  83.                 strCi.Append("</option>");                 
  84.             }  
  85.         }  
  86.         return strCity = strCi.ToString();  
  87.     }  
  88.     #endregion  
  89.      
  90. }  

要注意的地方我都有注释,

当然前台调入后台方法远不止这一种,比如还有AJAXPRO也很好用

转载于:https://www.cnblogs.com/EveryMan/archive/2011/07/29/2121119.html

最后

以上就是糊涂舞蹈为你收集整理的前台JS(Jquery)调用后台方法 无刷新级联菜单示例的全部内容,希望文章能够帮你解决前台JS(Jquery)调用后台方法 无刷新级联菜单示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部