在JavaScript中更改时,下拉列表值为null

时间:2018-06-26 18:48:42

标签: javascript json

嗨,您可以在我的html代码中看到这个DDL:

<select class="form-control" name="RoleId" id="RoleId">
                                                <option value="1">User</option>
                                                <option value="2">Admin</option>
                                                <option value="3">Security</option>

                                        </select>

我用以下代码调用我的json操作控制程序:

<script type="text/javascript">
    $(document).ready(function () {
        //Dropdownlist Selectedchange event
        $("#RoleId").change(function () {
            $.ajax({
                type: 'POST',
                url: '@Url.Action("GetRolePolicy", "RolePolicy", new { area= "Admin" })',
                dataType: 'json',
                data: { RoleName: $("#RoleId").val() },
                success: function (data) {


                    var cusid_ele = document.getElementsByClassName('toggle');

我需要组合框中所选项目的值,但这行代码

{RoleName:$(“#RoleId”)。val()},

将null返回到我在控制器中的操作。为什么?

                    public JsonResult GetRolePolicy(string RoleId)
        {
            int RoleIdConverted = int.Parse(RoleId);
            RolePolicy _RolePolocy = new RolePolicy();
}  

2 个答案:

答案 0 :(得分:1)

您要发送一个名为RoleName的参数:

data: { RoleName: $("#RoleId").val() }

但是需要一个名为RoleId的参数:

public JsonResult GetRolePolicy(string RoleId)

参数名称必须匹配。重命名其中之一。

答案 1 :(得分:1)

您的操作参数名称应为RoleName

public JsonResult GetRolePolicy(string RoleName)