使用MVC 4在下拉列表中检索数据库表值 [英] Retrive database table values in dropdown list using MVC 4

查看:89
本文介绍了使用MVC 4在下拉列表中检索数据库表值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的观看代码

==============

my view code
==============

@{
    Layout = null;
}

<h2>Dealer</h2>

<script src="~/Scripts/modernizr-2.5.3.js"></script>
<script src="~/Scripts/jquery-2.1.1.min.js"></script>

            VARIANTNAME    @Html.DropDownList("var1", "Choose VARIANTNAME")
            VEHICLENAME    @Html.DropDownList("var2", "Choose VEHICLENAME")
            MODELNAME    @Html.DropDownList("var3", "Choose MODELNAME")
            <script type="text/javascript">

                $(function () {
                    $("#var1").change(function () {
                        var name = $("#var1 :selected").text();  //if user select the tournament
                        var url = 'Home/Team';
                        var data1 = { "name": name };
                        $.post(url, data1, function (data) {    //ajax call
                            var items = [];
                            items.push("<option value=" + 0 + ">" + "Choose VEHICLENAME" + "</option>"); //first item
                            for (var i = 0; i < data.length; i++) {
                                items.push("<option value=" + data[i].Value + ">" + data[i].Text + "</option>");
                            }                                         //all data from the team table push into array
                            $("#var2").html(items.join(' '));
                        })                                            //array object bind to dropdown list
                    });

                    $("#var2").change(function () {                  //same logic for 3rd dropdown list
                        var name = $("#var2 :selected").text();

                        var url = 'Home/Player';
                        var data1 = { "name": name };
                        $.post(url, data1, function (data) {
                            var items = [];
                            items.push("<option value=" + 0 + ">" + "Choose Player" + "</option>");
                            for (var i = 0; i < data.length; i++) {
                                items.push("<option value=" + data[i].Value + ">" + data[i].Text + "</option>");
                            }
                            $("#var3").html(items.join(' '));
                        })
                    });

                });

            </script>

            <input type="submit" value="submit" />





控制器代码

======================



Controller code
======================

public class DealerController : Controller
    {
        //
        // GET: /Dealer/

        string connection = ConfigurationManager.ConnectionStrings["DBconnectionString"].ConnectionString;
        List<SelectListItem> Vehicle = new List<SelectListItem>();
        List<SelectListItem> MODELNAME = new List<SelectListItem>();
        List<SelectListItem> Variant = new List<SelectListItem>();
        public ActionResult Dealer()
        {
            ViewBag.var1 = GetOptions();
            ViewBag.var2 = Vehicle;
            ViewBag.var3 = MODELNAME;
            return View();
        }


        private SelectList GetOptions()
        {

            using (SqlConnection conn = new SqlConnection(connection))
            {
                try
                {
                    conn.Open();
                    SqlDataReader myReader = null;
                    SqlCommand myCommand = new SqlCommand("SELECT VARIANTID, VARIANTNAME FROM VARIANT", conn);

                    myReader = myCommand.ExecuteReader();
                    while (myReader.Read())
                    {

                        Variant.Add(new SelectListItem { Text = myReader["VARIANTNAME"].ToString(), Value = myReader["VARIANTID"].ToString() });
                    }


                }
                catch (Exception e)
                {
                    string msg = e.Message;
                }
                finally
                {

                    conn.Close();
                }

                return new SelectList(Variant, "Value", "Text", "id");

            }
        }
        public JsonResult Team(string name)
        {

            using (SqlConnection conn = new SqlConnection(connection))
            {
                conn.Open();
                SqlDataReader myReader = null;
                SqlCommand myCommand = new SqlCommand("select VARIANTID,VEHICLENAME from VARIANT where VARIANTNAME ='" + name + "' ", conn);
                myReader = myCommand.ExecuteReader();
                while (myReader.Read())
                {

                    Vehicle.Add(new SelectListItem { Text = myReader["VEHICLENAME"].ToString(), Value = myReader["VARIANTID"].ToString() });
                }
            }
            return Json(Vehicle, JsonRequestBehavior.AllowGet);

        }

        public JsonResult Player(string name)
        {

            using (SqlConnection conn = new SqlConnection(connection))
            {
                conn.Open();
                SqlDataReader myReader = null;
                SqlCommand myCommand = new SqlCommand("select VARIANTID,MODELNAME from VARIANT where VEHICLENAME ='" + name + "' ", conn);
                myReader = myCommand.ExecuteReader();
                while (myReader.Read())
                {

                    MODELNAME.Add(new SelectListItem { Text = myReader["MODELNAME"].ToString(), Value = myReader["VARIANTID"].ToString() });
                }
            }
            return Json(MODELNAME, JsonRequestBehavior.AllowGet);

        }





我的尝试:



第一个值只有工作,另外两个脚本或不工作..,请帮助任何人



What I have tried:

first value only working and another two script or not work.., pls help anyone

推荐答案

function (){


#var1)。change( function (){
var name =
("#var1").change(function () { var name =


#var1:selected)。text( ); // 如果用户选择锦标赛
var url = ' 主页/团队';
var data1 = { name:name};
("#var1 :selected").text(); //if user select the tournament var url = 'Home/Team'; var data1 = { "name": name };


这篇关于使用MVC 4在下拉列表中检索数据库表值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆