单击Database中的复选框列出产品列表

时间:2017-08-16 14:10:29

标签: asp.net-mvc

我的问题是列出产品清单。我有一个使用复选框创建的类别列表。 单击复选框时,必须根据复选框列出产品列表。 我试着用json和ajax做,但我没有设法做到。 有什么想法吗?

example

1 个答案:

答案 0 :(得分:0)

您的意思是将视图中的cheeckbox中的值传递给控制器​​吗?

您可以使用Ajax; 在表单元素中插入复选框并设置表单的Id属性 类似“FormId”的东西;

function Submit() {        
    $.ajax({
        url: "/Home/Index",
        type: "POST",
        data: $("#FormId").serialize(),
        success: function (result) {
            if (result.Durum == "OK") {
                $('#FormId').html("Successful");
          }

和html;

<form id="FormId">  

<input id="checkBox" type="checkbox" name="Data">
<button onclick="Submit()"> Submit</button>
</form>

在控制器中;

public class HomeController : Controller
{

    [HttpPost]
    public ActionResult Index(var Data)
    {
      //your code here
      return Json("OK", JsonRequestBehavior.AllowGet);
    }

通知复选框中的name属性在控制器Index方法的输入参数中具有相同的值。无论数据类型如何,您都可以传递各种数据,使用Ajax的serialize方法到控制器中的方法,只要name属性和Index方法的输入,它就会捕获正确的数据具有相同的价值。

如果您只想传递单个数据,只需在js代码中获取.val的特定表单元素的值;

function Submit() {        
  $.ajax({
    url: "/Home/Index",
    type: "POST",
    data: $("checkBox").val(),
    success: function (result) {
        if (result == "OK") {
            $('#FormId').html("Successful");
      }

并且还通知ajax函数中的POST类型,这意味着您应该将[HttpPost]属性放入控制器中的Index方法。在您共享的屏幕截图中,您使用GET方法调用ajax方法,但在控制器中使用[HttpPost]属性接收它,这不起作用。