我可以将对 SEO 友好的 URL 段用于 PageController 上的操作吗?
Can I give SEO-friendly URL Segment's to action on a PageController?
是否可以为 PageController<T>
上的操作定义 URL 段?
以下面的控制器为例,
public class MyPageController : PageController<MyPageData>
{
public ActionResult Index(MyPageData currentPage)
{
return View(currentPage);
}
[HttpPost]
public ActionResult SubmitForm(MyPageData currentPage, FormModel model)
{
// ...
return Redirect("/");
}
}
新,假设我们在 URL /my-page
处创建了一个 MyPageData
的实例,如果我们渲染一个表单,其动作是 SubmitForm
动作,我们会得到一个 URL 这样的 <form action="/my-page/SubmitForm">
@using(Html.BeginForm("SubmitForm"))
{
...
}
我的问题是,是否有任何方法可以定义或控制非索引操作的 URL 段的呈现方式,以便表单呈现如此 <form action="/my-page/submit-form">
?
您应该能够使用标准的 ASP.NET 操作名称属性,例如
public class MyPageController : PageController<MyPageData>
{
[HttpPost]
[ActionName("submit-form")]
public ActionResult SubmitForm(MyPageData currentPage, FormModel model)
{
// ...
return Redirect("/");
}
}
是否可以为 PageController<T>
上的操作定义 URL 段?
以下面的控制器为例,
public class MyPageController : PageController<MyPageData>
{
public ActionResult Index(MyPageData currentPage)
{
return View(currentPage);
}
[HttpPost]
public ActionResult SubmitForm(MyPageData currentPage, FormModel model)
{
// ...
return Redirect("/");
}
}
新,假设我们在 URL /my-page
处创建了一个 MyPageData
的实例,如果我们渲染一个表单,其动作是 SubmitForm
动作,我们会得到一个 URL 这样的 <form action="/my-page/SubmitForm">
@using(Html.BeginForm("SubmitForm"))
{
...
}
我的问题是,是否有任何方法可以定义或控制非索引操作的 URL 段的呈现方式,以便表单呈现如此 <form action="/my-page/submit-form">
?
您应该能够使用标准的 ASP.NET 操作名称属性,例如
public class MyPageController : PageController<MyPageData>
{
[HttpPost]
[ActionName("submit-form")]
public ActionResult SubmitForm(MyPageData currentPage, FormModel model)
{
// ...
return Redirect("/");
}
}