我很难做到以下几点,如果有人能告诉我如何做到以下几点:
在下拉列表中的新选择中,我调用操作状态并将下拉列表中选定的值作为参数传递。
在我看来,我有一个下拉列表
@Html.DropDownList("Status", Model.DisplayStatus)在我的控制器里,我有
private ActionResult Status(string active = "All")
{
UserModel model = new UserModel(active);
return View("Users", model);
}发布于 2011-01-28 07:45:19
我会使用强类型的帮助程序和jquery。如下所示:
public class MyViewModel
{
public string Status { get; set; }
public IEnumerable<SelectListItem> Statuses
{
get
{
return new[]
{
new SelectListItem { Value = "online", Text = "Online" },
new SelectListItem { Value = "offline", Text = "Offline" },
new SelectListItem { Value = "all", Text = "All" },
};
}
}
}然后是控制器:
public class HomeController: Controller
{
public ActionResult Index()
{
return View(new MyViewModel());
}
public ActionResult Status(string status)
{
UserModel model = new UserModel(status);
return View("Users", model);
}
}最后一种观点是:
@model AppName.Models.MyViewModel
@using (Html.BeginForm("Status", "Home", FormMethod.Post, new { id = "myForm" }))
{
@Html.DropDownListFor(
x => x.Status,
new SelectList(Model.Statuses, "Value", "Text"),
new { id = "status" }
)
}以及一些附加到更改事件并提交表单的脚本:
<script type="text/javascript">
$(function() {
$('#status').change(function() {
$('myForm').trigger('submit');
});
});
</script>https://stackoverflow.com/questions/4825857
复制相似问题