Вы должны использовать JavaScript для этого.Вот пример.Предположим, у вас есть следующая модель представления:
public class MyViewModel
{
public IEnumerable<SelectListItem> Values { get; set; }
}
, которую вы бы заполнили в своем контроллере:
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new MyViewModel
{
Values = new[]
{
new Item { Value = "1", Text = "Item 1" },
new Item { Value = "2", Text = "Item 2" },
new Item { Value = "3", Text = "Item 3" }
}
};
return View(model);
}
}
А затем представление, строго привязанное к этой модели:
<%: Html.DropDownListFor(x => x.SelectedValue,
new SelectList(Model.Values, "Value", "Text"),
new { id = "items" }
)%>
Последняя часть - регистрация события изменения (в этом примере используется jquery):
$(function () {
// Register for the change event of the drop down
$('#items').change(function () {
// When the value changes, get send an AJAX request to the
// Filter action passing the selected value and update the
// contents of some result div with the partial html returned
// by the controller action
$('#result').load('<%: Url.Action("filter") %>',
{ selectedValue: $(this).val() }
);
});
});