Jquery MVC 3在数据库中保存复选框状态

Jquery MVC 3在数据库中保存复选框状态,jquery,asp.net-mvc-3,checkbox,Jquery,Asp.net Mvc 3,Checkbox,我有一个问题,我希望有人有时间来看看。在我的MVC3测试项目中,我有视图as表。桌子里面有一个复选框。我试图在每次单击复选框时保存它们。我尝试了java脚本,尝试了很多来自互联网的例子,但仍然没有给我带来好运。有人能帮忙吗?:) 我的看法是: @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.date)

我有一个问题,我希望有人有时间来看看。在我的MVC3测试项目中,我有视图as表。桌子里面有一个复选框。我试图在每次单击复选框时保存它们。我尝试了java脚本,尝试了很多来自互联网的例子,但仍然没有给我带来好运。有人能帮忙吗?:)

我的看法是:

@foreach (var item in Model)
{
    <tr>

        <td>
            @Html.DisplayFor(modelItem => item.date)
        </td>

        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>

        <td>
            @Html.DisplayFor(modelItem => item.section)
        </td>
        <td>

  @Html.CheckBoxFor(modelItem => item.check, new { onclick = "SomeMethod(this)" });

</td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id = item.idImovine }) 

           </td>
    </tr>
}

</table>


<script type="text/javascript">

   function SomeMethod(checkboxInput) {

        $.ajax({
            type: 'POST',
            url: 'Home/Action',
            data: { newValue: checkboxInput.checked },
            success: success,
            dataType: 'json'
        });
    }

</script>

我正在使用LINQtoSQL访问数据库。有人能告诉我我做错了什么吗?我的目的是在每次单击复选框时都将其保存在dv中,但该复选框在来自视图的表中被单击,需要保存到另一个选项卡中,因此我猜我也需要传递视图中的id以及复选框值。

如果使用POST,那么您的操作应该相应地进行标记

[HttpPost]
 public JsonResult Action(bool newValue)

如果您使用的是POST,那么应该相应地标记您的操作

[HttpPost]
 public JsonResult Action(bool newValue)

您可能需要传递由复选框表示的记录的ID。让我们像这样更新你的razor代码

@foreach (var item in Model)
{
  <tr>
    <td>
      @Html.CheckBoxFor(modelItem => item.check,
                                              new { @id=item.ID, @class="chks"});
   </td>
  </tr>
}

您可能需要传递由复选框表示的记录的ID。让我们像这样更新你的razor代码

@foreach (var item in Model)
{
  <tr>
    <td>
      @Html.CheckBoxFor(modelItem => item.check,
                                              new { @id=item.ID, @class="chks"});
   </td>
  </tr>
}

您需要在模型中有一个
Id
,然后在视图中执行此操作:

@Html.CheckBoxFor(modelItem => item.check, 
    new { @dataid = item.Id, onclick = "SomeMethod(this)" });
然后像这样发布ajax帖子:

function SomeMethod(checkboxInput) {
    $.ajax({
        type: 'POST',
        url: 'Home/Action',
        data: { newValue: $(checkboxInput).is(':checked'), id: $(checkboxInput).attr('dataid') },
        success: success,
        dataType: 'json'
    });
}
public JsonResult Action(bool newValue, int id)
{
    // do your saving here
}
并在控制器中接受它,如下所示:

function SomeMethod(checkboxInput) {
    $.ajax({
        type: 'POST',
        url: 'Home/Action',
        data: { newValue: $(checkboxInput).is(':checked'), id: $(checkboxInput).attr('dataid') },
        success: success,
        dataType: 'json'
    });
}
public JsonResult Action(bool newValue, int id)
{
    // do your saving here
}

您需要在模型中有一个
Id
,然后在视图中执行此操作:

@Html.CheckBoxFor(modelItem => item.check, 
    new { @dataid = item.Id, onclick = "SomeMethod(this)" });
然后像这样发布ajax帖子:

function SomeMethod(checkboxInput) {
    $.ajax({
        type: 'POST',
        url: 'Home/Action',
        data: { newValue: $(checkboxInput).is(':checked'), id: $(checkboxInput).attr('dataid') },
        success: success,
        dataType: 'json'
    });
}
public JsonResult Action(bool newValue, int id)
{
    // do your saving here
}
并在控制器中接受它,如下所示:

function SomeMethod(checkboxInput) {
    $.ajax({
        type: 'POST',
        url: 'Home/Action',
        data: { newValue: $(checkboxInput).is(':checked'), id: $(checkboxInput).attr('dataid') },
        success: success,
        dataType: 'json'
    });
}
public JsonResult Action(bool newValue, int id)
{
    // do your saving here
}

当你点击表单中的“提交”按钮或者选中某个复选框时,你能保存数据吗?Shyju的回答成功了,现在一切都按预期进行了。所有的回答,这里有很多不错的ppl:D。当我学习mvc 3更好的时候,我会尝试像这样帮助其他pll:)你能在你点击表单中的提交按钮时保存数据吗,或者只是在你选中一些复选框时保存数据吗?Shyju的回答做到了,现在一切都按预期进行了。所有的回答,这里有很多不错的ppl:D。当我学习mvc 3 better时,我会尝试像这样帮助其他pll:)谢谢你,先生,这正是我需要的。现在一切正常,复选框按需要保存:)谢谢,先生,这正是我需要的。现在一切正常,复选框按需要保存:)我现在找到了,Shyju先生,答案是我需要的。我很接近我的解决方案,但我不知道出了什么问题:现在我知道了。谢谢冯先生:)我现在知道了,Shyju先生,我需要的是答案。我很接近我的解决方案,但我不知道出了什么问题:现在我知道了。谢谢冯先生:)