Могу ли я дать SEO-дружественный сегмент URL для действий на PageController?
Можно ли определить сегмент URL для действия на PageController<T>
?
Возьмите, например, следующий контроллер,
public class MyPageController : PageController<MyPageData>
{
public ActionResult Index(MyPageData currentPage)
{
return View(currentPage);
}
[HttpPost]
public ActionResult SubmitForm(MyPageData currentPage, FormModel model)
{
// ...
return Redirect("/");
}
}
Новый, скажем, мы создали экземпляр MyPageData
по URL /my-page
, если мы представим форму, действие которой является SubmitForm
действие, мы получим URL, как так <form action="/my-page/SubmitForm">
@using(Html.BeginForm("SubmitForm"))
{
...
}
У меня вопрос, есть ли способ определить или контролировать, как будет отображаться сегмент URL для неиндексируемого действия, поэтому форма будет отображаться так <form action="/my-page/submit-form">
?
1 ответ
Решение
Вы должны быть в состоянии использовать стандартный атрибут имени действия ASP.NET, такой как
public class MyPageController : PageController<MyPageData>
{
[HttpPost]
[ActionName("submit-form")]
public ActionResult SubmitForm(MyPageData currentPage, FormModel model)
{
// ...
return Redirect("/");
}
}