国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

ASP.NET MVC通過勾選checkbox更改select的內容

瀏覽:5日期:2022-06-08 18:35:42

遇到了這樣的一個需求:通過勾選checkbox來更改select的內容。

在沒有勾選checkbox之前是這樣的:

在勾選checkbox之后是這樣的:

想通過ajax異步來實現。所以,從控制器拿到的json數據,在控制器中應該先是Dictionary<string, string>類型,然后再轉換成json格式。

在沒有勾選checkbox之前,select中內容對應的Model為:

    public class Old    {public int Id { get; set; }public string Name { get; set; }    }

在勾選checkbox之后,select中內容對應的Model為:

    public class NewItem    {public int Id { get; set; }public string Name { get; set; }    }

Home控制器中應該給出對應的json數據。

   public class HomeController : Controller    {public ActionResult Index(){    return View();}public ActionResult GetOld(){    var olds = new List<Old>    {new Old(){Id = 1, Name = "老版本1"},new Old(){Id = 2, Name = "老版本2"},new Old(){Id = 3, Name = "老版本3"}    };    IDictionary<string, string> result = new Dictionary<string, string> {{"-1","None"}};    foreach (var item in olds)    {result.Add(item.Id.ToString(), item.Name);    }    return Json(result, JsonRequestBehavior.AllowGet);}public ActionResult GetNew(){    var news = new List<NewItem>    {new NewItem(){Id = 1, Name = "新版本1"},new NewItem(){Id = 2, Name = "新版本2"}    };    IDictionary<string, string> result = new Dictionary<string, string> { { "-1", "None" } };    foreach (var item in news)    {result.Add(item.Id.ToString(), item.Name);    }    return Json(result, JsonRequestBehavior.AllowGet);}    }

在Home/Index.cshtml視圖中,根據checkbox是否勾選來呈現不同的內容。

@{    ViewBag.Title = "Index";    Layout = "~/Views/Shared/_Layout.cshtml";}<h2>Index</h2><div>    <select id="v"></select></div><div>    <span>是否選擇新版本:</span><input type="checkbox" id="cn"/></div>@section scripts{    <script type="text/javascript">$(function () {    //初始獲取老版本    getOldOnes();    //勾選checkbox事件    $("#cn").on("change", function() {if ($(this).is(":checked")) {    getNewOnes();} else {    getOldOnes();}    });});//獲取老版本function getOldOnes() {    $.getJSON("@Url.Action("GetOld","Home")", function(data) {var $s = $("#v");$s.children().remove();$.each(data, function(key, value) {    $s.append("<option value="" + key + "">" + value + "</option>");});$s.effect("shake", { times: 4 }, 100);    });}//獲取新版本function getNewOnes() {    $.getJSON("@Url.Action("GetNew","Home")", function (data) {var $s = $("#v");$s.children().remove();$.each(data, function (key, value) {    $s.append("<option value="" + key + "">" + value + "</option>");});$s.effect("shake", { times: 4 }, 100);    });}    </script>}

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對的支持。如果你想了解更多相關內容請查看下面相關鏈接

標簽: ASP.NET
相關文章:
主站蜘蛛池模板: 临夏县| 乳山市| 堆龙德庆县| 芦山县| 合肥市| 尼勒克县| 灌南县| 宜宾县| 安多县| 隆安县| 江陵县| 五寨县| 盐边县| 黄骅市| 盈江县| SHOW| 彭州市| 鲜城| 垣曲县| 濮阳市| 资源县| 象州县| 阿拉善左旗| 鄂温| 莆田市| 进贤县| 南康市| 南京市| 崇礼县| 孝义市| 都匀市| 商丘市| 修水县| 刚察县| 阳城县| 鹤壁市| 曲水县| 习水县| 台南县| 麻栗坡县| 比如县|