我有一个复选框列表,我想在点击它们时运行一个函数。
<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;相应的那个功能。
我该如何处理?
答案 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