0

IDを使用してControllerActionresultメソッドを呼び出すためにこのステートメントをJavascriptに書き込む必要がある場合

 function submitForm(state)
 {


     if (state != "") 
     {

         alert("Hellooo");

         var ele = document.getElementById('gridform').elements;

        var strvalue = "";

        for (var i = 0; i < ele.length; i++) 
        {

            if (ele[i].type == "checkbox") 
            {

                if (ele[i].name == "chkactive[]")
                 {

                     if (ele[i].checked == true)
                     {

                        if (strvalue != "")
                            strvalue = strvalue + "," + ele[i].value;
                        else
                            strvalue = ele[i].value;

                    }

                }
            }

        }

    }

    alert("ok fine" + strvalue);

    if (strvalue != null) 
    {
        alert("NOT Null");
    }


    $.post('@Url.Action("Useractive","Admin", new{})' + '?Id=' + strvalue);

しかし、AdminコントローラーのUserActiveメソッドを呼び出すことができません。このステートメントを呼び出してもエラーは発生しませんが、idを使用してコントローラーのメソッドに移動できません...間違っている理由を教えてください。 !

これは私のコントローラーアクションメソッドです:-

public ActionResult Useractive(string Id)
    {

        int[] numbers = Id.Split(',').Select(n => int.Parse(n)).ToArray();

        foreach (int id in numbers)
        {
            User_Master u_master = db.User_Masters.Find(id);
            if (u_master.Is_active == "False")
            {
                u_master.Is_active = "True";
                db.Configuration.ValidateOnSaveEnabled = false;
                db.SaveChanges();

            }

        }

        return RedirectToAction("Userlist","Admin");

    }
4

1 に答える 1

0

.post メソッドを修正してみてください:

$.post("@Url.Action(MVC.Admin.UserActive())", { Id: strvalue) }, function(data) {
    //Do Something.
});
于 2013-02-21T13:04:58.310 に答える