http://i.imgur.com/uDWL0YE.png無法在下拉菜單中選擇元素下拉菜單
我下面就Pluralsight完整的堆棧.NET課程,一切都已經運行良好,直到如今。當我以用戶身份登錄並嘗試向數據庫添加演出時,我無法在下拉列表中選擇流派,因此無法添加演出。我可以查看流派很好,我只是不能選擇一個。
下面是在創建視圖的下拉代碼:
<div class="form-group">
@Html.LabelFor(m => m.Genre)
@Html.DropDownListFor(m => m.Genre, new SelectList(Model.Genres, "Id", "Name"), "", new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Genre)
</div>
這是的ViewModels文件夾我的千兆級:
public class GigFormViewModel
{
[Required]
public string Venue { get; set; }
[Required]
[FutureDate]
public string Date { get; set; }
[Required]
[ValidTime]
public string Time { get; set; }
[Required]
public byte Genre { get; set; }
[Required]
public IEnumerable<Genre> Genres { get; set; }
public DateTime GetDateTime()
{
return DateTime.Parse(string.Format("{0} {1}", Date, Time));
}
}
這是對代碼HttpPost在控制器中的動作:
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(GigFormViewModel viewModel)
{
if (!ModelState.IsValid)
{
viewModel.Genres = _context.Genres.ToList();
return View("Create", viewModel);
}
var gig = new Gig()
{
ArtistId = User.Identity.GetUserId(),
DateTime = viewModel.GetDateTime(),
GenreId = viewModel.Genre,
Venue = viewModel.Venue
};
_context.Gigs.Add(gig);
_context.SaveChanges();
return RedirectToAction("Index", "Home");
}
我不明白爲什麼我無法選擇一個genr e並將其保存到數據庫中。它不會給我一個驗證錯誤,當我點擊「保存」,而是重新加載頁面。讓我知道你是否需要更多信息。
謝謝,我現在能夠保存一個演出,但我仍然是una當我點擊它時,讓下拉選擇中的流派保持選定狀態。我仍然會將您的答案標記爲已接受。 – Leth
@ user1696992看看http://stackoverflow.com/questions/40384865/html-dropdownlistfor-always-displays-blank-even-with-a-list-item-selected - 也許你有同樣的問題與CSS ? – NineBerry
謝謝,解決了它。 – Leth