博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC TIP6:级联菜单
阅读量:6830 次
发布时间:2019-06-26

本文共 3041 字,大约阅读时间需要 10 分钟。

级联菜单最有名的是省市级联,如果你还没有这样的数据库,请从这里下载。

1:MODEL

准备3个Model,如下:

public class Province    {        public int id { get; set; }        public string provinceID { get; set; }        public string province { get; set; }    }    public class Province    {        public int id { get; set; }        public string provinceID { get; set; }        public string province { get; set; }    }    public class Area    {        public int id { get; set; }        public string areaID { get; set; }        public string area { get; set; }        public string father { get; set; }    }

2:Controller部分的数据获取

如下:

public class CityController : Controller    {        string conn = "Data Source=.;Initial Catalog=ForestFire;User Id=sa;Password=sa;";        public ActionResult Index()        {            return View("");        }        public ActionResult GetProvince()        {            if (!Request.IsAjaxRequest())            {                return Content("请不要非法方法,这是不道德的行为!");            }            string sql = "select * from dbo.povince";            using (DataSet ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, sql))            {                var provinces = DataTableHelper.DataTable2Objects
(ds.Tables[0]); return Json(provinces, JsonRequestBehavior.AllowGet); //return Json(provinces); } } public ActionResult GetCity(string id) { if (!Request.IsAjaxRequest()) { return Content("请不要非法方法,这是不道德的行为!"); } string sql = "select * from dbo.city where father=@fatherID"; SqlParameter p1 = new SqlParameter("@fatherID", id); using (DataSet ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, sql, p1)) { var citys = DataTableHelper.DataTable2Objects
(ds.Tables[0]); return Json(citys, JsonRequestBehavior.AllowGet); //return Json(provinces); } } public ActionResult GetArea(string id) { if (!Request.IsAjaxRequest()) { return Content("请不要非法方法,这是不道德的行为!"); } string sql = "select * from dbo.area where father=@areaID"; SqlParameter p1 = new SqlParameter("@areaID", id); using (DataSet ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, sql, p1)) { var areas = DataTableHelper.DataTable2Objects
(ds.Tables[0]); return Json(areas, JsonRequestBehavior.AllowGet); //return Json(provinces); } } }

3:前台

如下:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage
" %>
Index.aspx

xxx

最后的效果:

代码下载:

转载于:https://www.cnblogs.com/luminji/archive/2011/08/01/2123960.html

你可能感兴趣的文章
head设计模式 01
查看>>
PostgreSQL的神秘现象
查看>>
windows下安装redis
查看>>
使用doxygen生成中文pdf文档
查看>>
安全卫士分析--号码归属地
查看>>
常用计数器的verilog实现(binary、gray、one-hot、LFSR、环形、扭环形)
查看>>
CCS学习资料汇总
查看>>
WCF 中 TCP 与 HTTP 性能简单比较
查看>>
04 企业的结构
查看>>
FlipViewDemo
查看>>
* 与 ** 在调用函数时的作用
查看>>
大数据团队必须设置的五种职位
查看>>
POJ 3345 Bribing FIPA 树形DP
查看>>
在COM组件中调用JavaScript函数
查看>>
archlinux使用sudo
查看>>
Hibernate 一对一映射(惟一外键)
查看>>
Spring + iBatis 的多库横向切分简易解决思路
查看>>
PS拾色器(前景色背景色)快捷键
查看>>
Composer帮你轻松管理PHP包 autoload
查看>>
poj 2914(stoer_wanger算法求全局最小割)
查看>>