如何在 MVC-4 中的编辑模式弹出窗口中获取复选框

how to get the checkbox in edit modal popup in MVC-4

本文关键字:窗口 复选框 获取 模式 编辑 MVC-4      更新时间:2023-09-26

我正在使用ajax在模态弹出窗口中获取相应的行值,以便在MVC 4 razor中进行编辑。对于用户名文本框,我得到这样的...

@Html.TextBoxFor(u => u.useredit.userName,new { @class = "input-xlarge focused", id="Edituname", type = "text" })

如果我对复选框使用相同的方法..

@Html.CheckBoxFor(u => u.useredit.isActive, new {id="EditActiv"})

得到普通的复选框。我哪里出错了..或者有没有其他方法可以复选框,,

控制器:用于通过 AJAX 获取值

[HttpPost]
    public ActionResult getUserState(int userid)
    {
        TBLAppUser user = new TBLAppUser();
        user = _repository.GetUserByID(userid);
        string[] data = new string[10];
        data[0] = user.userName;
        data[1] = user.firstName;
        data[2] = user.lastName;
        data[3] = user.email;
        data[4] = user.userID.ToString();
        data[5] = user.statusID.ToString();
        data[6] = user.isdelete.ToString();
        data[7] = user.userName;
        data[8] = user.password;
        data[9] = user.isActive.ToString();
        return Json(data);
    }

JavaScript:

<script type="text/javascript">
function Getuser(_StateId) {
    var url = "/admin/getUserState/";
    $.ajax({
        url: url,
        data: { userid: _StateId },
        cache: false,
        type: "POST",
        success: function (data) {
            $('#Edituname').val(data[0]);
            $('#Editfname').val(data[1]);
            $('#Editlname').val(data[2]);
            $('#Editemail').val(data[3]);
            $('#Editid').val(data[4]);
            $('#state').val(data[5]);
            $('#isdelete').val(data[6]);
            $('#Editname1').val(data[7]);
            $('#Editpsd').val(data[8]);
            $('#EditActiv').val(data[9]);
        },
        error: function (response) {
            alert("error:" + response);
        }
    });
}

view.cshtml:

 @Html.CheckBoxFor(u => u.useredit.isActive, new {id="EditActiv"})

我在编辑弹出窗口中收到未选中的复选框。.请斯蒙帮帮我..提前...

供您查看

 @Html.CheckBoxFor(u => u.useredit.isActive, new {id="EditActiv"})

进行以下更改,看看它是否有效

[HttpPost]
public ActionResult getUserState(int userid)
{
    data[9] = user.isActive.ToString()
    return Json(data);
}

尝试使用 prop() 方法

 <script type="text/javascript">
 function Getuser(_StateId) {
  var url = "/admin/getUserState/";
  $.ajax({
    url: url,
    data: { userid: _StateId },
    cache: false,
    type: "POST",
    success: function (data) {
    var editCheck=(data[9]=== 'true')?true:false;
    $('#EditActiv').prop('checked',editCheck); //use prop()
   }
  });