Asp.net mvc RedirectToAction/CanvasRedirectToAction给出404错误,因为虚拟目录名在URL中重复

Asp.net mvc RedirectToAction/CanvasRedirectToAction给出404错误,因为虚拟目录名在URL中重复,asp.net-mvc,facebook,asp.net-mvc-3,asp.net-mvc-routing,facebook-c#-sdk,Asp.net Mvc,Facebook,Asp.net Mvc 3,Asp.net Mvc Routing,Facebook C# Sdk,我刚刚开始使用ASP.NETMVC3和FacebookC#SDK。到目前为止,我的运气很好,但在控制器方法中返回RedirectToAction或CanvasRedirectToAction时遇到了问题 当我在下面的视图中单击“提交”或“新建”按钮时,我总是会收到“发送到” /app/app/Event/Create而不是app/Event/Create,结果是404 提前谢谢 事件控制器: [CanvasAuthorize(Permissions = "user_about_me,us

我刚刚开始使用ASP.NETMVC3和FacebookC#SDK。到目前为止,我的运气很好,但在控制器方法中返回RedirectToAction或CanvasRedirectToAction时遇到了问题

当我在下面的视图中单击“提交”或“新建”按钮时,我总是会收到“发送到” /app/app/Event/Create而不是app/Event/Create,结果是404

提前谢谢

事件控制器:

    [CanvasAuthorize(Permissions = "user_about_me,user_events,create_event")]
    public ActionResult Index()
    {
        return View();
    }
    [CanvasAuthorize(Permissions = "user_about_me,user_events,create_event")]
    public ActionResult Create()
    {
        return View();
    }
    [CanvasAuthorize(Permissions = "user_about_me,user_events,create_event")]
    public ActionResult Persist()
    {
       return this.CanvasRedirectToAction("Index", "Event");
    }
Event/Create.cshtml

    @using Facebook.Web.Mvc

    @model App.Models.Event

   @{
       ViewBag.Title = "Create";
    }

    <h2>Create</h2>

    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript">    </script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

    @using (Html.BeginForm("Persist", "Event")) {
    @Html.FacebookSignedRequest();
    @Html.ValidationSummary(true)
    <fieldset>
    <legend>Event</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.Name)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Name)
            @Html.ValidationMessageFor(model => model.Name)
        </div>

        <p>
            <input type="submit" value="Create" />
            @Html.CanvasActionLink("Create New", "Persist")
        </p>
    </fieldset>
    }
@使用Facebook.Web.Mvc
@模型App.Models.Event
@{
ViewBag.Title=“创建”;
}
创造
@使用(Html.BeginForm(“Persist”、“Event”)){
@Html.FacebookSignedRequest();
@Html.ValidationSummary(true)
事件
@LabelFor(model=>model.Name)
@EditorFor(model=>model.Name)
@Html.ValidationMessageFor(model=>model.Name)

@CanvasActionLink(“创建新”、“持久化”)

}
这似乎不太可能。我的猜测是,查看C#SDK框架中URL的javascript在创建正确的重定向路径方面做得不好。我刚刚摆脱了虚拟目录,暂时解决了这个问题。

在同一个控制器中,您只需返回RedirectToAction(“[actionname]”);将完成工作,但您有一个无休止的循环,您正在让操作Persist重定向到Persist!你是对的我在写代码时犯了一些错误。。。不幸的是,我也尝试过这样做,但没有任何运气