2017-08-16 41 views
1

我想通过使用JQuery调用ActionResult。并做错了什么,因为查询开始,但在控制器的ActionResult - 不是。此外,我需要发送检查单选按钮的价值。MVC单选按钮没有调用ActionResult

JQuery的:

$("#allRows").on("change", function() { 
     var url = '@Url.Action("Index", "OrderManagment")'; 

     if ($("#allRows").attr("checked") === "checked") { 
      $.post(url, { 'tableRows': $("#allRows").val() }); 
     } 
    }); 

控制器:

 [HttpPost] 
     [ValidateAntiForgeryToken] 
     public IActionResult Index(string tableRows) 
     { 
      //some code 

      if (tableRows == "all") 
      { 
       return View(orders.ToList()); 
      } 
      else 
      { 
       var rows = Int32.Parse(_context.Settings.FirstOrDefault().Value); 
       return View(orders.ToList().Take(rows)); 
      } 
     } 

查看:

<form asp-action="Index"> 
<div style="text-align: right;"> 
     <label> Select count of rows in the table</label> 
     <label><input type="radio" id="allRows" name="tableRows" value="all"> All</label> 
     <label><input type="radio" id="settings" name="tableRows" value="settings" checked/> Settings </label> 
    </div> 
</form> 
+1

与'ID = “allRows”'你的单选按钮没有'检查'属性。使用'if($('#allRows')。is(':checked')){...' –

+0

你也不会对你返回的视图做任何事情。 –

+0

@StephenMuecke,一点点它的作品。也许我以错误的方式发布或发布价值? ActionResult仍然没有发生。 – Antatrix

回答

1
$("#allRows").on("change", function() { 
     var url = '@(Url.Action("Index", "OrderManagment"))'; 

     if ($(this).is(":checked")) { 
      $.post(url, { tableRows: $("#allRows:checked").val() , function(data){ 
       alert(data); 
      }); 
     } 
    });