我一直在与Telerik的Sitefinity CMS合作,而且我一直致力于与第三方支付系统集成的小部件。
我做的第一个测试之一是看一切是否正常是使用一个调用我的Redirect操作的Button来实现一个View(Default.cshtml),它会重新调用另一个View(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。
我在这里做错了什么?
答案 0 :(得分:0)
正如JamieD77正确指出的那样,该操作缺少[HttpPost]
属性。