Я работаю над приложением, которое написано на ASP. NET MVC с C#.
Я пытаюсь создать представление, в котором DropDownList
можно использовать для переместить пользователя на другую страницу.
Но когда я пытаюсь что-то выбрать, он всегда возвращает значение 0
.
Контроллер:
[HttpPost]
public ActionResult Index(IndexModel viewModel)
{
var selectedReportId = viewModel.Id;
var selectedReportName = viewModel.ReportCode;
ViewData["input"] = selectedReportId;
if (selectedReportId == 0 || selectedReportName == "----Select----") {
ViewData["boucle"] = "boucle 1";
return View();
}
if (selectedReportId == 1 || selectedReportName == "Order") {
ViewData["boucle"] = "boucle 2";
return View();
}
if (selectedReportId == 2 || selectedReportName == "Stock") {
ViewData["boucle"] = "boucle 3";
return View();
}
return View();
}
Просмотр:
@model IndexModel
@{
ViewData["Title"] = "Report choice";
}
<p><h2>Report choice</h2></p>
<div>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@Html.DropDownListFor(m => m.ReportCode, new SelectList(new WebApplication4.Models.IndexModel().GetReport(), "Id", "ReportCode"))
<input type="submit" value="Search" />
}
</div>
Модель:
public class IndexModel
{
public int Id { get; set; }
[Required]
[Display(Name = "Report choice")]
public string ReportCode { get; set; }
public IEnumerable<IndexModel> GetReport()
{
return new List<IndexModel>
{
new IndexModel() {Id = 0, ReportCode = "----Select----"},
new IndexModel() {Id = 1, ReportCode = "Order"},
new IndexModel() {Id = 2, ReportCode = "Stock"}
};
}
}
Извините за мой английский sh, это не мой родной язык.