0

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() 一起工作有任何想法?

4

0 回答 0