根据MVC 4中另一个下拉列表选定值填充一个下拉列表

幼稚的安萨里

我已经提到了这个stackoverflow的问题,它工作正常,但是由于我已经采用了表单中的下拉列表,因此当第二个下拉列表被填充时,第一个下拉列表中的选定值就会生效。如何保持那个价值?

这是我的代码。

看法

@{ Html.BeginForm("Create", "User", FormMethod.Post, new { enctype = "multipart/form-data" }); }
@Html.DropDownList("country", ViewData["Id"] as List<SelectListItem>, new { onchange = "this.form.submit();" })
@{ Html.EndForm(); }


@{ Html.BeginForm("Create", "User", FormMethod.Post, new { enctype = "multipart/form-data" }); }
@Html.DropDownList("state", ViewData["Id1"] as List<SelectListItem>, new { onchange = "this.form.submit();" })
@{ Html.EndForm(); }


@{ Html.BeginForm("Create", "User", FormMethod.Post, new { enctype = "multipart/form-data" }); }
@Html.DropDownList("city", ViewData["Id2"] as List<SelectListItem>, new { onchange = "this.form.submit();" })
@{ Html.EndForm(); }

控制器

 public ActionResult Create()
    {
        FillCountry();
        FillState();
        FillCity();
        return View();
    }
    [HttpPost]
    public ActionResult Create(User ur)
    {
        string str = @"Data Source=DEV_3\SQLEXPRESS;Initial Catalog=DB_Naved_Test;Integrated Security=True";
        SqlConnection con = new SqlConnection(str);
        string query = "Insert into tblTest (Name,Email,MobileNo) values('" + ur.Name + "','" + ur.Email + "','" + ur.MobileNo + "')";
        con.Open();
        SqlCommand cmd = new SqlCommand(query, con);
        cmd.ExecuteNonQuery();
        con.Close();
        TempData["msg"] = "<script>alert('Inserted Successfully');</script>";
        ModelState.Clear();
        FillCountry();
        FillState();
        FillCity();
        return View();


    }
    public void FillCountry()
    {
        string str = @"Data Source=DEV_3\SQLEXPRESS;Initial Catalog=DB_Naved_Test;Integrated Security=True";
        SqlConnection con = new SqlConnection(str);
        string query = "select * from tblCountry ";
        SqlCommand cmd = new SqlCommand(query, con);
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader();
        List<SelectListItem> li = new List<SelectListItem>();
        li.Add(new SelectListItem { Text = "Select", Value = "0" });
        while (rdr.Read())
        {
            li.Add(new SelectListItem { Text = rdr[1].ToString(), Value = rdr[0].ToString() });
        }
       
        ViewData["Id"] = li;
        
    }
    public void FillState()
    {
        int id = Convert.ToInt16(Request["country"]);
        string str = @"Data Source=DEV_3\SQLEXPRESS;Initial Catalog=DB_Naved_Test;Integrated Security=True";
        SqlConnection con = new SqlConnection(str);
        string query = "select * from tblState where cid='" + id + "'";
        SqlCommand cmd = new SqlCommand(query, con);
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader();
        List<SelectListItem> li = new List<SelectListItem>();
        li.Add(new SelectListItem { Text = "Select", Value = "0" });
        while (rdr.Read())
        {
            li.Add(new SelectListItem { Text = rdr[1].ToString(), Value = rdr[0].ToString() });
        }
        ViewData["Id1"] = li;
    }
    public void FillCity()
    {
        int id = Convert.ToInt16(Request["state"]);
        string str = @"Data Source=DEV_3\SQLEXPRESS;Initial Catalog=DB_Naved_Test;Integrated Security=True";
        SqlConnection con = new SqlConnection(str);
        string query = "select * from tbl_cities where StateId='" + id + "'";
        SqlCommand cmd = new SqlCommand(query, con);
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader();
        List<SelectListItem> li = new List<SelectListItem>();
        li.Add(new SelectListItem { Text = "Select", Value = "0" });
        while (rdr.Read())
        {
            li.Add(new SelectListItem { Text = rdr[1].ToString(), Value = rdr[0].ToString() });
        }
        ViewData["Id2"] = li;
    }

并且当我仅使用两个下拉列表时,即ddlCountry和,ddlState并从ddlCountry我的国家中ddlSates正确填充,但是从中选择的国家ddlCountry正在更改。

幼稚的安萨里

做到这一点,它完美

控制器

public ActionResult Index()
    {
        string str = @"Data Source=DEV_3\SQLEXPRESS;Initial Catalog=DB_Naved_Test;Integrated Security=True";
        SqlConnection con = new SqlConnection(str);
        string query = "select * from tbl_country ";
        SqlCommand cmd = new SqlCommand(query, con);
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader();
        List<SelectListItem> li = new List<SelectListItem>();
        while (rdr.Read())
        {
            li.Add(new SelectListItem { Text = rdr[1].ToString(), Value = rdr[0].ToString() });
        }
        ViewData["country"] = li;
        return View();
    }
    public JsonResult StateList(int Id)
    {
        string str = @"Data Source=DEV_3\SQLEXPRESS;Initial Catalog=DB_Naved_Test;Integrated Security=True";
        SqlConnection con = new SqlConnection(str);
        string query = "select * from tbl_states where cid='" + Id + "'";
        SqlCommand cmd = new SqlCommand(query, con);
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader();
        List<SelectListItem> li = new List<SelectListItem>();
        while (rdr.Read())
        {
            li.Add(new SelectListItem { Text = rdr[1].ToString(), Value = rdr[0].ToString() });
        }
        return Json(li, JsonRequestBehavior.AllowGet);
    }
    public JsonResult Citylist(int id)
    {
        string str = @"Data Source=DEV_3\SQLEXPRESS;Initial Catalog=DB_Naved_Test;Integrated Security=True";
        SqlConnection con = new SqlConnection(str);
        string query = "select * from tbl_cities where stateid='" + id + "'";
        SqlCommand cmd = new SqlCommand(query, con);
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader();
        List<SelectListItem> li = new List<SelectListItem>();
        while (rdr.Read())
        {
            li.Add(new SelectListItem { Text = rdr[1].ToString(), Value = rdr[0].ToString() });
        }
        return Json(li, JsonRequestBehavior.AllowGet);
    }

看法

@using (Html.BeginForm())
{ @Html.DropDownList("Country", ViewData["country"] as SelectList, "Select Country", new { id = "Country", style = "width: 150px;" })<br />
<select id="State" name="state" , style="width: 150px;"></select><br />
<select id="city" name="City" , style="width: 150px;"></select><br />
}
@Scripts.Render("~/bundles/jquery")
<script type="text/jscript">
$(function ()
{
    $('#Country').change(function ()
    {        
        $.getJSON('/Cascading/StateList/' + $('#Country').val(), function (data)
        {
            var items = '<option>Select State</option>';
            $.each(data, function (i, state)
            {
                items += "<option value='" + state.Value + "'>" + state.Text + "</option>";
            });
            $('#State').html(items);
        });
    });

    $('#State').change(function ()
    {
        $.getJSON('/Cascading/Citylist/' + $('#State').val(), function (data)
        {
            var items = '<option>Select City</option>';
            $.each(data, function (i, city)
            {
                items += "<option value='" + city.Value + "'>" + city.Text + "</option>";
            });
            $('#city').html(items);
        });
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据MVC 4中的另一个下拉列表选定值填充一个下拉列表

来自分类Dev

根据另一个下拉列表填充一个下拉列表并获取“值”而不是下拉显示值

来自分类Dev

如何在 mvc 中输入另一个下拉列表来填充下拉列表

来自分类Dev

根据 ASP.NET MVC 5 中另一个下拉列表中的选择填充下拉列表

来自分类Dev

根据rails中另一个下拉列表的值生成下拉列表值

来自分类Dev

使用ng-change根据AngularJS中的另一个下拉列表填充一个下拉列表

来自分类Dev

根据另一个下拉列表选择一个下拉列表的值

来自分类Dev

根据另一个下拉列表禁用下拉列表中的多个值

来自分类Dev

使用JSTL根据另一个下拉选择将值填充到下拉列表中

来自分类Dev

使用JSTL根据另一个下拉选择将值填充到下拉列表中

来自分类Dev

根据对另一个不接受数值的下拉列表的选择来填充下拉列表

来自分类Dev

MVC下拉列表填充另一个下拉列表

来自分类Dev

MVC 5从另一个表填充下拉列表并保存值NOT KEY

来自分类Dev

如何根据另一个下拉列表隐藏和显示下拉列表值

来自分类Dev

根据另一个下拉列表的值更改下拉列表的值

来自分类Dev

根据另一个下拉列表中的选择限制一个下拉列表中的项目

来自分类Dev

使下拉列表依赖于MVC Core中的另一个下拉列表

来自分类Dev

根据另一个下拉列表更新下拉值-jQuery

来自分类Dev

使用来自asp.net中另一个表的值生成下拉列表。VB MVC 4

来自分类Dev

根据另一个下拉列表动态更新下拉列表?

来自分类Dev

根据从其他下拉列表中选择的值填充一个下拉列表

来自分类Dev

ReactJS使用Ajax根据第一个下拉列表选择的值填充下拉列表

来自分类Dev

Symfony根据在下拉列表上选择的值来验证另一个下拉列表

来自分类Dev

根据另一个下拉菜单的选定值,过滤并显示一个下拉菜单的选项

来自分类Dev

根据另一个下拉菜单的选定值,过滤并显示一个下拉菜单的选项

来自分类Dev

根据JSF中的第一个下拉列表,用值填充下拉列表的最佳方法是什么?

来自分类Dev

Scala根据另一个列表中的值对一个列表进行排序

来自分类Dev

如何根据从另一个下拉列表中进行选择来过滤下拉列表结果?

来自分类Dev

根据另一个“列表”的选定元素更改“列表”值

Related 相关文章

  1. 1

    根据MVC 4中的另一个下拉列表选定值填充一个下拉列表

  2. 2

    根据另一个下拉列表填充一个下拉列表并获取“值”而不是下拉显示值

  3. 3

    如何在 mvc 中输入另一个下拉列表来填充下拉列表

  4. 4

    根据 ASP.NET MVC 5 中另一个下拉列表中的选择填充下拉列表

  5. 5

    根据rails中另一个下拉列表的值生成下拉列表值

  6. 6

    使用ng-change根据AngularJS中的另一个下拉列表填充一个下拉列表

  7. 7

    根据另一个下拉列表选择一个下拉列表的值

  8. 8

    根据另一个下拉列表禁用下拉列表中的多个值

  9. 9

    使用JSTL根据另一个下拉选择将值填充到下拉列表中

  10. 10

    使用JSTL根据另一个下拉选择将值填充到下拉列表中

  11. 11

    根据对另一个不接受数值的下拉列表的选择来填充下拉列表

  12. 12

    MVC下拉列表填充另一个下拉列表

  13. 13

    MVC 5从另一个表填充下拉列表并保存值NOT KEY

  14. 14

    如何根据另一个下拉列表隐藏和显示下拉列表值

  15. 15

    根据另一个下拉列表的值更改下拉列表的值

  16. 16

    根据另一个下拉列表中的选择限制一个下拉列表中的项目

  17. 17

    使下拉列表依赖于MVC Core中的另一个下拉列表

  18. 18

    根据另一个下拉列表更新下拉值-jQuery

  19. 19

    使用来自asp.net中另一个表的值生成下拉列表。VB MVC 4

  20. 20

    根据另一个下拉列表动态更新下拉列表?

  21. 21

    根据从其他下拉列表中选择的值填充一个下拉列表

  22. 22

    ReactJS使用Ajax根据第一个下拉列表选择的值填充下拉列表

  23. 23

    Symfony根据在下拉列表上选择的值来验证另一个下拉列表

  24. 24

    根据另一个下拉菜单的选定值,过滤并显示一个下拉菜单的选项

  25. 25

    根据另一个下拉菜单的选定值,过滤并显示一个下拉菜单的选项

  26. 26

    根据JSF中的第一个下拉列表,用值填充下拉列表的最佳方法是什么?

  27. 27

    Scala根据另一个列表中的值对一个列表进行排序

  28. 28

    如何根据从另一个下拉列表中进行选择来过滤下拉列表结果?

  29. 29

    根据另一个“列表”的选定元素更改“列表”值

热门标签

归档