2014-06-06 43 views
1

請幫我解決這個問題。 我無法驗證我的項目的DropdownList。 我的模型使用DataAnnontation:如何驗證ASP.NET MVC Razor中的DropdowList

public class Category 
{ 
    public int Id { get; set; } 

    public virtual IList<Product> Products { get; set; } 
} 

public class Product 
{ 
    [Required] 
    [StringLength(32)] 
    public string Id { get; set; } 
    [Required] 
    public int CategoryId { get; set; } 

    public virtual Category Category { get; set; } 
} 

最後,對於某些代碼創建視圖:

<script src="~/Scripts/jquery.validate.min.js" type="text/javascript"></script> 
<script src="~/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script> 
@using (Html.BeginForm()) 
{ 
    @Html.ValidationSummary(true) 
    @Html.DropDownList("CategoryId", String.Empty) @Html.ValidationMessageFor(x => x.CategoryId)</td> 
} 
+0

您應該使用@ Html.DropDownListFor(型號=> model.CategoryId,Model.CategoryList),其中,所屬分類爲類別的完整列表,即一個名稱/價值對象 – markpsmith

回答

1

您需要使用@html.DropDownListFor()

+0

非常感謝您的支持 –

0

試試這個。

型號

public class YourViewModel 
{ 
    [Required] 
    public string CategoryId { get; set; } 

    public IEnumerable<Category> Categories { get; set; } 
} 

形式

@using (Html.BeginForm()) 
{ 
    @Html.DropDownListFor(
     x => x.CategoryId, 
     new SelectList(Model.Categories, "ID", "CategoryName"), 
     "-- Please select a category --" 
    ) 
    @Html.ValidationMessageFor(x => x.CategoryId) 
} 
+0

感謝您的幫助。我解決了 –