在SelectList
使用Html.EditorForModel()
.
我有以下内容Model
:
public class LoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
public string Gender { get; set; }
[UIHint("SelectList")]
public SelectList AvailibleGender { get; set; }
}
如您所见,我有一个SelectList
项目,其中包含要放入 Gender 字符串的值。我已经覆盖了SelectList EditorTemplate
,它现在有一个简单的脚本标签,显示一个警告框。
当我使用 时EditorFor(m=>AvailableGender)
,我的警报框会触发,这意味着编辑器正确选择了我的 SelectList 模板。
当我使用 时EditorForModel()
,我的警报框不会触发。
如果我按如下方式更改模型:
[UIHint("SelectList")]
public string AvailibleGender { get; set; }
..然后我的 SelectList 模板确实被击中,我看到了警报消息。
所以看起来有什么东西专门阻止了 SelectList。
如果它与特定的自定义类型有关,我尝试添加一个object.cshtml
文件,但这也没有被调用。所以似乎该SelectList
类型在某处丢失了。
有没有人对如何让选择列表与 EditorForModel() 一起工作有任何想法?