1
我剛剛開始使用Facebook C#SDK的ASP.Net MVC 3。到目前爲止我的運氣還不錯,但在Controller方法中返回RedirectToAction或CanvasRedirectToAction時遇到了問題。RedirectToAction/CanvasRedirectToAction給404錯誤,因爲在URL中重複虛擬目錄名稱
當我點擊任一提交或在下面的視圖中創建New_按鈕,我總是發送到 /應用 /應用/事件/創建代替應用程序/事件/創建,導致在404
在此先感謝!
EventController:
[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");
}
事件/ 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>
}
以及你在同一個控制器中簡單地返回RedirectToAction(「[actionname]」);將做這項工作,但你有一個無盡的循環,你有行動堅持重定向到堅持! – davethecoder
你是對的我犯了一些錯誤把代碼放在一邊......我試過這樣做,但很遺憾沒有任何運氣 – David