选择下拉列表选项时,有什么方法可以刷新页面的某些部分(例如div / span)?请注意,我使用的是razor语法。
如果是,那么请提供一些示例代码。
是的,您可以订阅onchange活动。
onchange
@Html.DropDownListFor(m => m.ItemId, Model.ItemList, "Select an item...", new { onchange = "somefunction();" })
可能是这样(真实示例):
@using (Ajax.BeginForm("Action", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "divtoupdate", InsertionMode = InsertionMode.Replace })) { @Html.DropDownListFor(m => m.ItemId, Model.ItemList, "Select an item...", new { onchange = "doSubmit($(this).parents('form'));" }) }
然后具有此javascript函数(或类似功能)
<script> function doSubmit(form){ // event.preventDefault(); doesn't work in IE8 so do the following instead (event.preventDefault) ? event.preventDefault() : event.returnValue = false; form.submit(); } </script>
编辑:此示例假设您使用的是非侵入式验证(因此使用jQuery),并且想要提交表单,但是显然您可以为onchange事件调用任何javascript函数,然后执行所需的任何操作…