Estou a tentar desencadear um método de acção para o evento onchange para a lista suspensa, como posso fazê-lo sem usar o jquery onchange.
@Html.DropDownList("Sortby",
new SelectListItem[]
{
new SelectListItem() { Text = "Newest to Oldest", Value = "0" },
new SelectListItem() { Text = "Oldest to Newest", Value = "1" }})
Obrigado
Se não'não quer javascript, então pode fazê-lo com javascript :-
@Html.DropDownList("Sortby", new SelectListItem[]
{
new SelectListItem() { Text = "Newest to Oldest", Value = "0" },
new SelectListItem() { Text = "Oldest to Newest", Value = "1" }},
new { @onchange="callChangefunc(this.value)"
});
<script>
function callChangefunc(val){
window.location.href = "/Controller/ActionMethod?value=" + val;
}
</script>
Pode fazer isto
@Html.DropDownList("Sortby", new SelectListItem[] { new SelectListItem()
{
Text = "Newest to Oldest", Value = "0" }, new SelectListItem() { Text = "Oldest to Newest", Value = "1" } , new
{
onchange = @"form.submit();"
}
})
Pode tentar isto se estiver a passar um valor para o método de acção.
@Html.DropDownList("Sortby", new SelectListItem[] { new SelectListItem() { Text = "Newest to Oldest", Value = "0" }, new SelectListItem() { Text = "Oldest to Newest", Value = "1" }},new { onchange = "document.location.href = '/ControllerName/ActionName?id=' + this.options[this.selectedIndex].value;" })
Remover a cadeia de consulta em caso de não passagem de parâmetro.