C# 下拉列表 多级联动 MVC API

create table City
(
 Id int identity, 
 Name varchar(30),
 Pid int ,
 )

 MVC显示页面

@{
    ViewBag.Title = "Index";
}
@using MVC.Models;
<h2>Index</h2>
<div id="sel">
    <select onchange="BandNext(this)">
        <option value="-1">--请选择--</option>
        @foreach (City item in ViewBag.Xiala as List<City>)
        {
            <option value="@item.Id">@item.Name</option>
        }
    </select>

</div>

<script>
    function BandNext(obj) {
        var Pid = $(obj).val();
        $(obj).nextAll().remove();
        if (Pid ==-1) {
            return;
        }
        $.ajax({
            url: "https://localhost:44372/API/API?Pid=" + Pid,
            //dataType: "json",
            type: "get",
            success: function (d) {
                var sel = '<select onchange="BandNext(this)"> '
                sel += '<option value="-1">--请选择--</option> '
                $(d).each(function () {
                    sel += ' <option value="' + this.Id + '">'+this.Name+'</option>'
                })
                sel += '</select>';
                $("#sel").append(sel);
            }
        })
    }
</script>

 MVC 后台

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVC.Models;
using Newtonsoft.Json;
namespace MVC.Controllers
{
    public class MVCController : Controller
    {
        HttpClientHelper helper = new HttpClientHelper("https://localhost:44372/API/API/");
        // GET: MVC
        public ActionResult Index()
        {
            string json = helper.Get("GetShow?Pid=0");
            ViewBag.Xiala = JsonConvert.DeserializeObject<List<City>>(json);
           
            return View();
        }
    }
}

 API 代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Data.SqlClient;
using Dapper;
using System.Data;
using API.Models;

namespace API.Controllers
{
    public class APIController : ApiController
    {
        public List<City> GetShow(int Pid = 0)
        {
            using (IDbConnection conn = new SqlConnection("Data Source=.;Initial Catalog=x1rk16;Integrated Security=True"))
            {
                string sql = $"select * from City where 1=1 and Pid={Pid}";
                List<City> model = conn.Query<City>(sql).ToList();
                return model;
            }

        }
    }
}

猜你喜欢

转载自www.cnblogs.com/2018cjx/p/12159716.html