2012-04-07 46 views
1

我不得不在我的创建视图中添加一个手动DropDownList给用户2'输入'选项。MVC3验证视图仍然无效由于DropDownList

现在,当我来保存信息,即使我的代码已经验证不起作用:

<div class="editor-field"> 
      <select name="type" id="type"> 
      <option value></option> 
      <option value="1" id="apple">Apple</option> 
      <option value="2" id="banana">Banana</option> 
      </select> 
      <span class="field-validation-valid" data-valmsg-for="type" data-valmsg-replace="true"></span> 

我如何内置的验证回到了“Type'field。我在模型类中将其作为'必需'。

回答

0

您的下拉式名称和ID应该是您模型的属性。

<select name="type" id="type"> 

在您的模型中包含类型作为属性并使其成为必需。

public class myModel{ 
    [Required] 
    public string type{get; set;} 
} 

是键入C#的关键字,我建议你用别的东西,例如“FruitDD”

+0

你总是可以逃脱与'关键字@'你的属性名称。例如。 '公共字符串@type {get;组; }' – 2012-04-08 10:46:11

+0

这是真的,但最好不要使用保留关键字,除非它非常需要。在上述情况下,我觉得他可以使用不同的财产。 – HaBo 2012-04-09 13:07:39

+0

我同意,避免使用关键字作为属性名称在设计中很重要,因为它们会使代码更难以解释并导致诸如“@”之类的解决方法。 – 2012-04-09 18:32:51