Могу ли я дать 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("/");
    }
}
Другие вопросы по тегам