ASP.net mvc 动态下拉菜单怎么写?

MVC动态下拉菜单怎么写?要全面的讲解谢谢ASP.NETMVC动态下拉前端<Select></Select>后台要求下拉根据数据库中的类型和ID查询到对应的下拉名字,前端... MVC 动态下拉菜单怎么写?
要全面的讲解谢谢
ASP.NET MVC 动态下拉 前端 <Select></Select> 后台要求下拉根据数据库中的类型和ID查询到对应的下拉名字, 前端Html5
<select id="Select1">
<option></option>
</select>
里面怎么写
后台怎么写
控制 模型需要怎么写才能显示
例如数据库这样
Type itemID itemname

动物 1 老虎
动物 2 老鼠
植物 1 花
植物 2 草
展开
 我来答
匿名用户
2018-05-11
展开全部
数据库SQL:

create table TypeInfo
(
TypeId int Primary key,
TypeName varchar(20)
)

create table ItemInfo
(
ItemId int primary key,
TypeId int foreign key references TypeInfo(TypeId),
ItemName varchar(20)
)

insert into TypeInfo values(1,'动物')
insert into TypeInfo values(2,'植物')

isnert into ItemInfo  values(1,1,'老虎')
isnert into ItemInfo  values(2,1,'老鼠')
isnert into ItemInfo  values(3,2,'花')
isnert into ItemInfo  values(4,2,'草')

View代码:

@using System.Data;
@{
    DataTable TypeData = (DataTable)ViewBag.TypeData;
}

<!DOCTYPE html>
<html>
<head>
    <title>Main</title>
    <script src="@Url.Content("~/Scripts/jquery.min.js")" type="text/javascript"></script>
    <script>
        $(function () {
            $("#select1").change(function () {
                var typeid = this.value;
                $.ajax({
                    url: "@Url.Action("GetItems")",
                    type: "Post",
                    data: { "typeid": typeid },
                    dataType: "json",
                    success: function (data) {
                        $("#select2").empty();
                        for (var i = 0; i < data.length; i++) {
                            $("#select2").append("<option value='" + data[i].ItemId + "'>" + data[i].ItemName + "</option>");
                        }
                    }
                });
            });
        });
    </script>
</head>
<body>
    <div style="padding:5px 5px 0px 5px;">
        <select id="select1" name="select1">
            <option value="0">--select--</option>
            @foreach(DataRow row in  TypeData.Rows){
                <option value="@row["TypeId"]">@row["TypeName"]</option>
            }
        </select>
        <select id="select2" name="select2"><option value="0">--select--</option></select>
    </div>
</body>
</html>


Controller代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data;
using App.Common;

namespace My.Web.Controllers
{
    public class TestController : Controller
    {
        //
        // GET: /Test/

        public ActionResult Index()
        {
            DataTable type_table = SQLHelper.GetDataTable("select TypeId,TypeName from TypeInfo");
            ViewBag.TypeData = type_table;

            return View();
        }

        [HttpPost]
        public string GetItems(string typeid)
        {
            DataTable type_table = SQLHelper.GetDataTable("select ItemId,ItemName from ItemInfo where TypeId=" + typeid);
            string json = "";
            foreach (DataRow row in type_table.Rows)
            {
                if (json == "")
                {
                    json += "{\"ItemId\":\"" + row["ItemId"] + "\",\"ItemName\":\"" + row["ItemName"] + "\"}";
                }
                else
                {
                    json += ",{\"ItemId\":\"" + row["ItemId"] + "\",\"ItemName\":\"" + row["ItemName"] + "\"}";
                }
            }

            string jsonvalue = "[" + json + "]";

            return jsonvalue;
        }

    }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式