如何調用此函數?如何調用以下功能?
public static HtmlString DropdownForEnum<TModel>(this HtmlHelper<TModel> helper, Type type,
string name, string optionLabel, object htmlAttributes)
如何調用此函數?如何調用以下功能?
public static HtmlString DropdownForEnum<TModel>(this HtmlHelper<TModel> helper, Type type,
string name, string optionLabel, object htmlAttributes)
一個頁面(使用剃刀語法)內部:
@Html.DropDownForEnum(typeof(enumToDropDown), name: "Foo", optionLable: "Bar", htmlAttributes: null)
謝謝你給我一個直接的答案,而不是撲。 – bman
這是的HtmlHelper擴展方法。 由於這樣,它應該被稱爲是這樣的:
HtmlHelper<TModel> instance = new HtmlHelper<TModel>();
instance.DropdownForEnum(type, name, optionLabel, htmlAttributes)
其中的TModel是在聲明的時刻分配給通用類型。
也請看到這個問題: MVC3 Razor DropDownListFor Enums
有關擴展方法,請參閱本: http://msdn.microsoft.com/en-us/library/vstudio/bb383977.aspx
這是的HtmlHelper的extension
方法。你可以閱讀更多關於它here。
你可以稱它爲艾克這個
yourhtmlHelperObject.DropdownForEnum(someType,someName,label,attributes);
的「本」的論點部分表示,我認爲這是一個「擴展方法」 - 這確實一個對象上的一些公共操作基本上是一個輔助方法,但可以被稱爲是該對象的一種方法。
HtmlHelper<Model> helper;
Type type;
String name;
String optionLabel;
Object htmlAttributes;
helper.DropdownForEnum(type, name, optionLabel, htmlAttributes);
// or, the standard way for calling a static:
NameOfClassWhereYouFoundMethod.DropdownForEnum(helper, type, name, optionLabel, htmlAttributes);
除了該函數有一個靜態聲明,所以它不會在HtmlHelper的一個實例上調用。 –
@MikeCorcoran所有擴展方法都是靜態聲明的,因爲HtmlHelper的實例被指定爲參數。 (這個HtmlHelper ...) – Katana314
呃,brainfart。你是對的,我想只有外部類聲明必須是靜態的 –
什麼是有用的評論 – bman