5

有没有办法在选择下拉列表选项时刷新页面的某些部分(例如 div/span)......?请注意我使用的是剃刀语法。

如果是,那么请提供一些示例代码。

4

2 回答 2

5

是的,您可以订阅该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 函数并做任何你想做的事情......

于 2012-01-24T12:34:53.773 回答
1

只需在您的代码中添加一些 javascript/jquery。像这样的东西。

$("#button").click(function(){

$("#div").load("www.wateveryourdatapageis.com");

});
于 2012-01-24T12:39:21.650 回答