//in controller ViewBag.Categories = categoryRepository.GetAllCategories().ToList(); //in view @Html.DropDownList(\"Cat\", new SelectList(ViewBag.Categories,\"ID\"
There is an overload with 3 arguments. Html.DropdownList(name, selectList, optionLabel) Update: there was a typo in the below code snippet.
Html.DropdownList(name, selectList, optionLabel)
@Html.DropDownList("Cat", new SelectList(ViewBag.Categories,"ID", "CategoryName"), "-Select Category-")
For the validator use
@Html.ValidationMessage("Cat")