当尝试绑定ajax和控制器动作时,下拉菜单没有填充

Dropdown not filling when attempting to bind with ajax and controller action

本文关键字:下拉菜单 填充 绑定 ajax 控制器      更新时间:2023-09-26

我正在尝试使用ajax和控制器动作填充下拉菜单,但当我单击触发动作的按钮时,似乎没有发生任何事情:

Ajax:

$.ajax({
            url: '@Url.Action("GetBranch", "Report")',
            type: "GET",
            success: function (result) {
                $("#dropdown2").append('<option value=' + result.BranchId + '>' + result.BranchName + '</option>');
            }
        });
控制器动作:

public ActionResult GetBranch()
    {
        var branch = new Branch();
        var branchId = branch.BranchId;
        var branchName = branch.BranchName;
        return Json(new[]
        {
            new {Id = branchId, Value = branchName}
        }, JsonRequestBehavior.AllowGet);
    }

这是一个我不太熟悉的做法,所以可能会有一些明显的缺失。这里没有一个答案能够帮助我,因为我试图绑定到一个现有的<select>;非@DropdownListFor

似乎控制器动作没有被ajax调用击中,所以没有返回任何东西。

谢谢你的帮助!

    public JsonResult GetBranch()
    {
    var branch = new Branch();
    var branchs = new List<Branch>();
    var branchId = "Branch01"; //If only your branch id datatype is string
    branch.branchId = branchId;
    var branchName = "Name of Branch";//Name you want to give for your branch
    branch.branchName = branchName;
    branchs.Add(branch);
        return Json(branchs.Select(t => new {Text = t.branchName, Value = t.branchId}), JsonRequestBehavior.AllowGet);
    }