2013-02-21 39 views
0

称为当我写这篇声明为JavaScript呼叫控制器的ActionResult方法与ID为什么ActionResult的方法不是从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); 

,但我不能叫管理控制器的UserActive方法 我可以”吨得到任何错误调用这条语句,但只是没有导航与编号控制器的方法... 请帮我什么是我做错了什么原因..!

这是我的控制器的操作方法: -

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"); 

    } 
+0

你在控制台中看到的任何消息的开发工具在任何浏览器中使用的是?我修剪了你的javascript,并将一个硬编码的strvalue发布到一个实现你的方法的剥离式管理控制器(跳过数据库的东西,在Userlist中返回一个字符串),并且一切似乎都正常。 – Joe 2013-02-21 13:19:28

+0

sir ....上面我发布了我的声明,在我正常的项目中工作得很好,但是当我必须在IIS上托管我的项目并在当时运行此操作时,这不起作用,操作不会执行并且控制器的操作结果方法不叫...但通常可以执行,所以请帮助我..! @Joe – 2013-02-21 13:37:49

回答

0

尝试修理你。员额方法:

$.post("@Url.Action(MVC.Admin.UserActive())", { Id: strvalue) }, function(data) { 
    //Do Something. 
}); 
+0

$ .post('@ Url.Action(“Useractive”,“Admin”,new {})'+'?Id ='+ strvalue); ......这个声明是在我的正常项目中工作并调用控制器的操作方法,但是这个声明不工作,并且当我在IIS上托管我的项目时,不会调用控制器的操作方法,虽然这不是不起作用所以,这是什么原因..请帮助我..! – 2013-02-21 13:29:01

相关问题