0

誰でも、asp.net mvc routingを使用してコントローラ/アクション/ IDと一致する非Ajaxリクエストを強制的にホームインデックスビューで応答させる方法を知っていますか?Backbone.jsを使用した非xhrリクエスト用のAsp.Net MVCルーティング

私はBackbone.jsアプリケーションを開発しており、pushstateを使用しようとしています。したがって、私はhashfragmentを持っていません。私が抱えている問題は、ページされたグリッド/ CustomerDirectory/1がjsonで応答するブックマークされたURLである - 私はインデックスビューで応答する必要があり、バックボーンが引き継ぎ、グリッドのjsonというurland要求を使用してグリッドを開始する必要がある?

答えて

2

心にグローバルアクションフィルタの泉:もちろん

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    filters.Add(new MyFilter()); 
    ... 
} 
+0

ああ、私はMVCアプリを触れたため、前年比:Global.asaxに登録されます

public class MyFilter : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (!filterContext.HttpContext.Request.IsAjaxRequest()) { var rd = filterContext.RequestContext.RouteData; var controller = rd.GetRequiredString("controller"); var action = rd.GetRequiredString("action"); var id = rd.Values["id"]; if (DoYourTest()) { // Short-circuit the execution of the request action // by setting the result which in this case will be // a ViewResult to render the Home/Index view filterContext.Result = new ViewResult { ViewName = "~/Views/Home/Index.cshtml" }; } } } } 

。それを試してみましょう。乾杯。 – redsquare

+0

ダーリンに感謝しました。 – redsquare

関連する問題