Asp.net mvc RedirectToAction/CanvasRedirectToAction给出404错误,因为虚拟目录名在URL中重复
我刚刚开始使用ASP.NETMVC3和FacebookC#SDK。到目前为止,我的运气很好,但在控制器方法中返回RedirectToAction或CanvasRedirectToAction时遇到了问题 当我在下面的视图中单击“提交”或“新建”按钮时,我总是会收到“发送到” /app/app/Event/Create而不是app/Event/Create,结果是404 提前谢谢 事件控制器: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
[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!你是对的我在写代码时犯了一些错误。。。不幸的是,我也尝试过这样做,但没有任何运气