На моей странице MVC У меня есть ActionLink вроде этого:MVC ActionLink для перехода к регулятору тока
@Html.ActionLink("Create", "Index", "Project")
Вид на Index.cshtml и контроллер является «Проект».
При нажатии на эту ссылку я хочу, чтобы она шла к контроллеру и делала actionResult для Create. Но когда я нажимаю на него, он хочет перейти в/projects/index , и ничего не происходит, потому что метод actionresult для create не вызывается. Он вызывает действие для индекса. Так что ничего на самом деле не происходит, страница просто обновляется.
Если изменить ActionLink на:
@Html.ActionLink("Create", "Create", "Project")
он пытается перейти к «/ проектов/создать», но не может найти его, потому что он не существует.
Мой ActionResult код выглядит следующим образом:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "projectName,projectType")] Project project)
{
if (ModelState.IsValid)
{
db.Project.Add(project);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(project);
}
Как решить эту проблему?
Url is '/ projects/index', и вы используете' Project' show your Project controller – Satpal
Итак, у вас есть контроллер с именем: ProjectController с методом действий Create, а также модель с именем Project? – MaticDiba
Да, хотя VS2015 добавляет имя s, чтобы он назывался ProjectsController. Не делайте почему VS ставит там s. – Eric