单击@ Html.CheckBox时运行函数c#

时间:2014-11-04 10:13:33

标签: c# asp.net-mvc-4 razor checkbox

我有一个复选框列表,我想在点击它们时运行一个函数。

<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.RequiresSetup)
        </th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.CheckBox("RequiresSetup", item.RequiresSetup) 
            </td>
        </tr>
    }
</table>

到目前为止,我正在使用@Html.CheckBox(String, bool),但这还不够。检查InputExtensions.CheckBox Method Documentation后,我也没有看到任何方法。

我想检测用户何时检查或取消选中某个复选框,这样我就可以调用一个立即将更改保存在数据库中的函数。

经过我的研究,我也相信我需要这样的东西:

void Handle_Clicked(Object sender, EventArgs e) {
    //save to DB
}

但我不知道怎么告诉CheckBox&#34;我&#34;相应的那个功能。

我该如何处理?

1 个答案:

答案 0 :(得分:2)

由于它是ASP.Net MVC(而不是webforms),因此您无法编写服务器端事件。相反,你应该做的是抓住&#34;点击&#34;使用javascript进行事件,然后进行AJAX调用(POST)以在控制器中执行操作。

例如,以下是使用JQuery捕获事件客户端的方法:https://stackoverflow.com/a/3442342/870604

以下是在控制器上执行操作的AJAX调用示例:Proper way to use AJAX Post in jquery to pass model from strongly typed MVC3 view