我可以在页面控制器上提供SEO友好的URL段吗?

时间:2015-05-20 08:31:28

标签: asp.net-mvc episerver episerver-8

是否可以为function jQueryNoConflict() { jQuery.noConflict(); if (typeof Prototype !== "undefined" && Prototype.BrowserFeatures.ElementExtensions) { var disablePrototypeJS = function (method, pluginsToDisable) { var handler = function (event) { event.target[method] = undefined; setTimeout(function () { delete event.target[method]; }, 0); }; pluginsToDisable.each(function (plugin) { jQuery(window).on(method + '.bs.' + plugin, handler); }); }, pluginsToDisable = ['collapse', 'dropdown', 'modal', 'tooltip', 'popover', 'tab']; disablePrototypeJS('show', pluginsToDisable); disablePrototypeJS('hide', pluginsToDisable); } } 上的操作定义网址细分?

以下面的控制器为例,

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的实例,如果我们呈现一个表单,其中的操作是/my-page操作,我们将获得一个网址像这样SubmitForm

<form action="/my-page/SubmitForm">

我的问题是,有没有办法定义或控制如何呈现非索引操作的URL段,因此表单会像@using(Html.BeginForm("SubmitForm")) { ... } 一样呈现?

1 个答案:

答案 0 :(得分:1)

您应该能够使用标准的ASP.NET操作名称属性,例如

public class MyPageController : PageController<MyPageData>
{
    [HttpPost]
    [ActionName("submit-form")]
    public ActionResult SubmitForm(MyPageData currentPage, FormModel model)
    {
        // ...
        return Redirect("/");
    }
}