将 DDL 中的值发回代码隐藏

posting the value from a DDL back to code behind

MVC 使用我在网上找到的一个示例,我填充了一个字典并将其传递给视图。我可以查看下拉列表和 select 个不同的值。但我的问题是如何使用新值调用代码隐藏函数 selected 回传到代码隐藏?

  //controller
     toolTipsVM.ListOfMaps = GetMapIds();

     public Dictionary<int, string> GetMapIds()
            {
                //List<int, string> mapIds = new List<int, string>();
                Dictionary<int, string> mapIds = new Dictionary<int, string>();
                mapIds.Add(36, "hi");
                mapIds.Add(37, "how");
                mapIds.Add(39, "now");

                return mapIds;
            }

    //VW
     public Dictionary<int, string> ListOfMaps { get; set; }

//View

     @Html.DropDownListFor(m => m.MapId, new SelectList(Model.ListOfMaps, "Key", "Value"),
                                            "--Choose Map--",
                                                new {@class = "form-control"}
                                        )
  1. 需要在Controller中写函数传值

    [Post]
    Post_MethodName(string Id)
    {
    }
    
  2. 使用以下 jQuery Ajax 调用 post 该函数的值。

    $.ajax({
         type: "POST",
         url: "Controller/Post_MethodName", // the method we are calling
         contentType: "application/json; charset=utf-8",
         data: {id: SelctedValue},
         dataType: "json",
         success: function (result) {
             alert('Success');
         ;                    
         },
         error: function (result) {
             alert('Failed');
         }
     });
    
  3. 使用以下函数获取下拉列表值

     $("#dropdownlistid option:selected").text();