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

问题描述 投票:0回答:2

嗨我在我的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”)。Fall()},

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

                    public JsonResult GetRolePolicy(string RoleId)
        {
            int RoleIdConverted = int.Parse(RoleId);
            RolePolicy _RolePolocy = new RolePolicy();
}  
javascript json
2个回答
1
投票

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

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

但期待一个名为RoleId的参数:

public JsonResult GetRolePolicy(string RoleId)

参数名称需要匹配。重命名其中一个。


1
投票

你的行动参数名称应该是RoleName

public JsonResult GetRolePolicy(string RoleName)
© www.soinside.com 2019 - 2024. All rights reserved.