0

我一直在使用 Telerik 的 Sitefinity CMS,并且一直在开发一个可以与第三方支付系统集成的小部件。

我为查看是否一切正常而进行的第一个测试之一是使用一个调用我的重定向操作的按钮来实现一个视图 (Default.cshtml),该按钮会返回一个不同的视图 (Redirect.cshtml)。

这是我的默认视图:

@model SitefinityWebApp.Mvc.Models.PayTesterModel
@using Telerik.Sitefinity.UI.MVC;
@using Telerik.Sitefinity.Frontend.Mvc.Helpers

<div>
    @using(Html.BeginFormSitefinity("Redirect", "PayTester"))
    {
        <input type="submit" value="Go" />
    }
</div>

有了这个,这是我的控制器:

using System;
using System.ComponentModel;
using System.Linq;
using System.Web.Mvc;
using Telerik.Sitefinity.Mvc;
using SitefinityWebApp.Mvc.Models;

namespace SitefinityWebApp.Mvc.Controllers
{
    [ControllerToolboxItem(Name = "PayTester", Title = "PayTester", SectionName = "MvcWidgets"), Telerik.Sitefinity.Web.UI.ControlDesign.ControlDesigner(typeof(SitefinityWebApp.WidgetDesigners.PayTester.PayTesterDesigner))]
    public class PayTesterController : Controller
    {
        /// <summary>
        /// This is the default Action.
        /// </summary>
        public ActionResult Index()
        {
            var model = new PayTesterModel();
            return View("Default", model);
        }

        public ActionResult Redirect()
        {
            return View("Redirect");
        }
    }
}

最后是我的重定向视图:

@using Telerik.Sitefinity.UI.MVC;
@using Telerik.Sitefinity.Frontend.Mvc.Helpers

<h1>
    Success!!
</h1>

每当调用该操作时,我都会收到 404 错误,并且我尝试了不同的方法来实现相同的预期结果,但我总是得到相同的 404。

我在这里做错了什么?

4

1 回答 1

0

正如 JamieD77 正确指出的那样,该动作缺少该[HttpPost]属性。

于 2015-09-23T16:25:09.677 回答