我想根据一些复选框过滤列表,因此当我(联合国)选中一个复选框时,我想回复服务器并在那里进行过滤逻辑。
在Postback on RadioButtonFor in MVC上我找到了new { onclick = "this.form.submit();" })
,但似乎没有做到这一点。
控制器
public ActionResult Foo(Models.FooViewModel Model)
{
return View(Model);
}
查看
<div>
@for (int i = 0; i < Model.Bars.Count; i++)
{
<div class="col-md-2">
@Html.HiddenFor(model => model.Bars[i].Value)
@Html.CheckBoxFor(model => model.Bars[i].Selected) <-- when checked, do postback to the controller with the model
@Html.ValueFor(model => model.Bars[i].Text)
</div>
}
</div>
答案 0 :(得分:0)
你可以使用这样的ajax调用来执行它:
<script type="text/javascript">
$(document).ready(function () {
$('#Id').click(function () {
var thisCheck = $(this);
if (thisCheck.is(':checked')) {
$.ajax(
'@Url.Action( "ActionName" , "Controller" )',
{
type: 'post',
success: function (result) {
//do something on success: show message or update content
}
}
);
}else
{
//also you can do what you want if unchecked.
}
});
});
</script>