我一直在瀏覽網頁,試圖找到一個很好的示例/教程,詳細說明如何創建和使用我自己的自定義HTML助手爲我的MVC 3 Razor應用程序,我發現這是一個如下向MVC項目添加自定義HTML助手
Adding your own HtmlHelper in ASP.NET MVC 3
我創建了一個類(修剪下來一點)爲使
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Html;
namespace MyWebApp
{
public static class ExtensionMethods
{
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"}
};
return html.DropDownListFor(expression,
new SelectList(stateList, "key", "value"));
}
}
}
到目前爲止好,
在我的控制器我還添加了參考現在
using System.Web.Mvc.Html;
我的觀點裏,我有以下
@Html.StateDropDownList(x => x.State)
但我得到以下錯誤
System.web.mvc.htmlhelper<system.collections.generic.list<Profile.ProfileImages>> does not contain a definition for StateDropDownList and no extension method StateDropDownList acception a first argument of type system.web.mvc.htmlhelper<System.Collections.Generic.List<Profile.ProfileImages>> could be found(Are you missing a using directive of an assembly reference?)
可能有人請告訴我是什麼即時在這裏做錯了。
您是否有一個名爲DisplayImageFor的HTML幫助器? –
@UfukHacıoğulları對不起,我添加了不正確的錯誤陳述,我更新了上述內容。 –