相关疑难解决方法(0)

在ASP.NET MVC 3中添加自己的HtmlHelper

我是MVC的新手,我正在尝试创建自己的扩展方法,以便我可以添加到我的剃刀视图中可用的html助手.Html.DropDownListFor()允许您为模型上的任何属性创建下拉列表.我想创建一个叫做的帮助程序Html.StateDropDownListFor()完全相同的事情,除了加载美国所有50个州的下拉列表.这样我就不必为我创建的每个状态下拉列表创建一个SelectList.最简单的方法是什么?现在我有这个:

public static class ExtensionMethods
{
    public static MvcHtmlString StateDropDownList(this HtmlHelper html)
    {
        // ???
    }
}
Run Code Online (Sandbox Code Playgroud)

我甚至关闭了吗?我不想重建整个文本框助手,我只是想创建一个利用现有文本框助手的助手,但是为我做了SelectList.在我的观点中,我可以这样做Html.StateDropDownList(x => x.State)

非常感谢您的回答.

这是答案!

你们是一个很好的帮助,谢谢!这是完整的扩展方法,以防其他任何人使用它.

    public static MvcHtmlString StateDropDownListFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression)
    {
        Dictionary<string, string> stateList = new Dictionary<string, string>()
        {
            {"AL"," Alabama"},
            {"AK"," Alaska"},
            {"AZ"," Arizona"},
            {"AR"," Arkansas"},
            {"CA"," California"},
            {"CO"," Colorado"},
            {"CT"," Connecticut"},
            {"DE"," Delaware"},
            {"FL"," Florida"},
            {"GA"," Georgia"},
            {"HI"," Hawaii"},
            {"ID"," Idaho"},
            {"IL"," Illinois"},
            {"IN"," Indiana"},
            {"IA"," Iowa"},
            {"KS"," Kansas"},
            {"KY"," …
Run Code Online (Sandbox Code Playgroud)

html c# asp.net asp.net-mvc asp.net-mvc-3

47
推荐指数
2
解决办法
5万
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-3 ×1

c# ×1

html ×1