Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击@Html.CheckBox时运行函数c#_C#_Asp.net Mvc 4_Razor_Checkbox - Fatal编程技术网

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

单击@Html.CheckBox时运行函数c#,c#,asp.net-mvc-4,razor,checkbox,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>

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

<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>
但是我不知道如何相应地告诉复选框“I”这个函数

如何继续?

因为它是ASP.Net MVC(而不是webforms),所以不能编写服务器端事件。相反,您应该使用javascript捕获“click”事件,然后进行AJAX调用(POST)以在控制器中执行操作

例如,下面是如何使用JQuery捕获事件客户端:


下面是一个AJAX调用示例,用于在控制器上执行操作:

您需要使用javascript/jquery处理复选框的单击事件并提交表单。请注意,显示的
Handle\u Clicked
代码是web表单,而不是MVC。
Handle\u Clicked
属于WebForms技术。您使用的是MVC,但它没有。要处理单击,请使用JavaScript单击复选框。另外请注意,在发布表单时,您的代码对模型绑定器没有意义,因为所有复选框都将具有相同的名称和ID。
void Handle_Clicked(Object sender, EventArgs e) {
    //save to DB
}