ASP.NET MVC - 填充常用的下拉列表

JP.*_*JP. 10 c# asp.net-mvc drop-down-menu

我想知道在ASP.NET MVC中填充常用的下拉列表时最佳做法是什么.例如,我有一个国家和州选择,在我的应用程序中经常使用.对于我希望包含这样一个下拉列表的每个视图来说,填充viewmodel并从我的控制器绑定到该viewmodel似乎很脏.

在这种情况下,人们如何填充他们的下拉列表? - 这个烤制的自定义基类?助手班等?

提前致谢,

J.P

Çağ*_*kin 7

您可以使用RequiresStateList属性将该常用功能注入需要它的操作.

public class RequiresStateList : ActionFilterAttribute {
    public override void OnResultExecuting(ResultExecutingContext filterContext) 
    {
        filterContext.Controller.ViewData["StateList"] = GetStates();
    }
}
Run Code Online (Sandbox Code Playgroud)

而你的行动

[RequiresStateList]
public ActionResult Index() {
    return View();
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以在视图中从ViewData获取该列表.