从下拉列表中选择的值不能按预期的MVC运行

时间:2018-10-31 14:49:11

标签: javascript jquery json asp.net-mvc entity-framework

在此之前,我发布了一个问题,有关选择下拉列表并显示适当的数据。我能够取得一些进步,但是 HttpGet 方法遇到了问题。

PS:我正在使用数据库中的表填充下拉列表(getIDs函数可以完成此操作)。但是,(getStuff函数)使用视图显示数据。

模型类:

public string R_ID {get; set;}

public string Summary{get; set;}

public int Estimate {get; set;}

public List<Hello> getIDs() //Populated via a table in the DB
        {
            var que = (from wre in db.Table
                       select new Hello{
                       R_ID = wre.ID
                       }).toList();
        }

控制器类:

public ActionResult Index(string IDParam)
    {
        var model = test.getStuff(IDParam);
        ViewBag.IDs= new SelectList(test.getIDs(), "", "R_ID");
     }

[HttpGet]
public JsonResult getDataBySelectedID(string selectedId) //selectedID = 21
        {
            var data = (from wre in db.View
                          where wre.R_ID == selectedId //selectedId = 21 
                       select new Hello
                       {
                           R_ID = wre.ID
                           Summary = wre.Summary,
                           Estimate = wre.Estimate
                       }).toList();

            return Json(data, JsonRequestBehavior.AllowGet); //data = null; ???
        }

查看课程:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
<script type="text/javascript">

        $(document).ready(function () {
              $("#IDs").on("change", function () {
                debugger;
                var selectedId = this.value;
                var url = "/Sample/getDataBySelectedID";

                $.ajax({
                    dataType: "json",
                    method: "GET",
                    url: url,
                    data: { selectedId: selectedId }
                });
            });
</script>

      @Html.DropDownList("IDs", ViewBag.Releases as SelectList)

如果您查看 HttpGet 方法(控制器类)中的注释,那就是问题所在。

问题:

1)变量 data 未分配 selectedID ,因此JSon不返回任何内容。

2)我正在从下拉列表中更改ID,但 selectedID 保持相同的ID。例如,在注释中,我使用了 21 ,但是如果选择 22 ,则 selectedID 不会改变。它停留在 21 上。

Data selectedId

0 个答案:

没有答案