Asp.net mvc 网格中的MVC复选框事件

Asp.net mvc 网格中的MVC复选框事件,asp.net-mvc,razor,Asp.net Mvc,Razor,我是MVC世界里的一只新蜜蜂。我有一个场景,比如,我有一个网格,其中一列是复选框。当我点击复选框时,会触发一个事件,它会更新数据库中的一些值。 我用的是剃须刀引擎 <table> <tr> <th> ID </th> <th> PName </th> <th> PDescription </th>

我是MVC世界里的一只新蜜蜂。我有一个场景,比如,我有一个网格,其中一列是复选框。当我点击复选框时,会触发一个事件,它会更新数据库中的一些值。 我用的是剃须刀引擎

<table>
<tr>
    <th>
        ID
    </th>
    <th>
        PName
    </th>
    <th>
        PDescription
    </th>
    <th>
        PSerialNo
    </th>
    <th>
        PPrice
    </th>
    <th>
        PActive
    </th>
</tr>
@foreach (var item in Model)
{
    <tr>
        <td>
            @item.ID
        </td>
        <td>
            @Html.ActionLink(@item.PName, "Edit", new { id = @item.ID })
        </td>
        <td>
            @item.PDescription
        </td>
        <td>
            @item.PSerialNo
        </td>
        <td>
            @String.Format("{0:c}", item.PPrice)
        </td>
        <td>
            @Html.CheckBox("chkActiveItem", item.PActive) 
        </td>
    </tr>
}
这里的内容显示在网格中。在这里,当我点击这个复选框时,我想更新数据库中的标志。 我该怎么做?
请帮助。

foreach在这种情况下不起作用。您需要使用for循环,然后更改将在post的服务器端接收

若要进行ajax调用,只需将每个项的id存储在其行中,并在ajax调用期间将其作为参数传递,以标识服务器端的选中项