我正在构建一个自定义分页机制,我有一个用于更改页面大小的下拉列表。页面大小在我的viewmodel中表示。显然,我可以更改值并再次运行搜索以获得适当的结果。
但有没有办法让DropDownListFor在所选值发生变化时回发?
答案 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" })