2

出于好奇,因为它很容易解决:this documentation forDropDownListFor says that optionLabelcan be null. 但是,如果我在接到电话时尝试编译,optionLabel则会出现模棱两可的错误,因为还有一种方法在同一位置采用 an 并且显然是模棱两可的。那么a)文档错误b)有一种方法可以编译并指定我的意思c)文档意味着一种不同的方法,可以在不引起调用的情况下出现模棱两可的错误?nullobjectnulloptionLabelnull

编辑:

我现在意识到,文档当然意味着optionLabel作为字符串变量传递的情况,总是传递null. 例如:

string optionLabel = null;

// Possibly do something with optionLabel

@Html.DropDownListFor(x => x.Name, selectList, optionLabel)
4

2 回答 2

3

文档是错误的。您不能拥有:

@Html.DropDownListFor(x => x.Value, Model.Values, null)

因为这与following overload.

或者,如果您坚持传递 null ,您可以使用命名参数来消除重载的歧义:

@Html.DropDownListFor(x => x.Name, new SelectList(null), optionLabel: null)

就我个人而言,我经常使用命名参数来使代码更具可读性,因为 Microsoft 为 HTML 帮助程序编写了大量的重载。

于 2013-02-27T13:45:15.277 回答
0

也许转换为字符串可以解决问题?

 optionLabel:(string)null
于 2013-02-27T13:45:23.350 回答