-1

我如何调用这个函数?

public static HtmlString DropdownForEnum<TModel>(this HtmlHelper<TModel> helper, Type type,
    string name, string optionLabel, object htmlAttributes)
4

4 回答 4

5

在页面内(使用 razor 语法):

@Html.DropDownForEnum(typeof(enumToDropDown), name: "Foo", optionLable: "Bar", htmlAttributes: null)
于 2013-08-06T15:11:19.893 回答
2

参数的“this”部分向我表明这是一个“扩展方法”——基本上是一个对对象执行一些公共操作的辅助方法,但可以像调用该对象的方法一样调用它。

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);
于 2013-08-06T15:12:36.727 回答
1

这是 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

于 2013-08-06T15:11:24.320 回答
1

这是HtmlHelperextension上的一种方法。你可以在这里阅读更多关于它的信息。

你可以这样称呼它

 yourhtmlHelperObject.DropdownForEnum(someType,someName,label,attributes);
于 2013-08-06T15:12:00.753 回答