من این شکلی این کار رو انجام می دم .
یک کلاس برای پر کردن DropDownList هام در برنامه ایجاد می کنم .
public IEnumerable<SelectListItem> GetCategories()
{
return GetCategories(-1);
}
public IEnumerable<SelectListItem> GetCategories(int SelectedCategoryID)
{
using (var rep = new Models.CategoryRepository())
{
var all = rep.Categories.ToArray();
return from c in all
select new SelectListItem()
{
Text = c.Name,
Value = c.CategoryID.ToString(),
Selected = SelectedCategoryID == c.CategoryID
};
}
}
بعد تو view برای پر کردن dropdownlist این کد رو می نویسم .
<div class="editor-field">
<%= Html.DropDownListFor(model => model.CategoryID,Html.DropDownSources().GetCategor ies()) %>
<%= Html.ValidationMessageFor(model => model.CategoryID) %>
</div>
Html.DropDownSources نام کلاس و Namespace است.