如何获得HTML DropDownListFor回发?

时间:2011-01-20 15:40:09

标签: asp.net-mvc

我正在构建一个自定义分页机制,我有一个用于更改页面大小的下拉列表。页面大小在我的viewmodel中表示。显然,我可以更改值并再次运行搜索以获得适当的结果。

但有没有办法让DropDownListFor在所选值发生变化时回发?

2 个答案:

答案 0 :(得分:13)

您可以使用HtmlATtributes传递“onchange();”试试这个。

<%: Html.DropDownListFor(model => model.ProductName, listobj,
                               new { onchange = 'submit()'; }) %>

希望这有帮助。

答案 1 :(得分:7)

我实际上写了一些javascript来启动这种行为:

$(document).ready(function () {
    $('form').find('select.auto-post').change(function () {
        $(this).parents('form').submit();
    });
});
有趣的巧合,我现在working on the same thing。但是,我建议您不要将POST HTTP方法用于任何类型的分页参数。请改用GET。这使您的用户更容易导航,并且搜索引擎可以更轻松地为您的内容的所有页面编制索引。

<强>更新

要使上述jquery正常工作,您可以像下面那样呈现下拉列表:

Html.DropDownListFor(expression, items, new { @class = "auto-post" })