Я только что начал новый проект MVC, и у меня возникли проблемы с получением результата публикации из формы.
Это мой класс модели:
public class User
{
public int id { get; set; }
public string name { get; set; }
}
public class TestModel
{
public List<User> users { get; set; }
public User user { get; set; }
public SelectList listSelection { get; set; }
public TestModel()
{
users = new List<User>()
{
new User() {id = 0, name = "Steven"},
new User() {id = 1, name = "Ian"},
new User() {id = 2, name = "Rich"}
};
listSelection = new SelectList(users, "name", "name");
}
}
Это мой класс просмотра
@model MvcTestApplicaiton.Models.TestModel
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using (Html.BeginForm())
{
@Html.DropDownListFor(x => x.user, @Model.listSelection)
<p>
<input type="submit" value="Submit" />
</p>
}
@if (@Model.user != null)
{
<p>@Model.user.name</p>
}
А это мой контроллер:
public class TestModelController : Controller
{
public TestModel model;
//
// GET: /TestModel/
public ActionResult Index()
{
if(model ==null)
model = new TestModel();
return View(model);
}
[HttpPost]
public ActionResult Test(TestModel test)
{
model.user = test.user;
return RedirectToAction("index", "TestModel");
}
}
Раскрывающийся список выглядит просто отлично, но я не вижу, чтобы запустить тестовую функцию ActionResult. Я думал, что он просто свяжется с отражением, но что бы ни случилось, я этого не вижу.