嗨,我的 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();
}
您正在发送一个名为RoleName
的参数:
data: { RoleName: $("#RoleId").val() }
但是期望一个名为RoleId
的参数:
public JsonResult GetRolePolicy(string RoleId)
参数名称需要匹配。 重命名其中一个。
你的动作参数名称应该是RoleName
public JsonResult GetRolePolicy(string RoleName)