簡體   English   中英

如何使 Asp.Net 服務器端路由與無哈希 url 一起工作? 例如對於 Backbone/AngularJS

[英]How do I make Asp.Net server-side routing work with hashless urls? eg for Backbone/AngularJS

例如,我不想使用“ http://localhost/#/Employee/5 ”,而是轉到“ http://localhost/Employee/5 ”。 我希望 Web 服務器為所有 url(不是 404)返回完全相同的 ~/Default.aspx 頁面。 地址欄中的 url 必須保持為 /Employee/5 並且不能重定向到我的基本頁面。 然后 javascript 框架可以在我的單頁應用程序中路由 url。

我的 js 客戶端已經在工作(在我的backbone.history.start 中使用 pushState: true - 請參閱沒有哈希值的 Backbone 路由? )。

// Put any special route exceptions here, above the catch-all rule below
// eg a non-backbone login-page, ajax web service routes matching "api/{controller}/{action}/{id}".

routes.MapPageRoute(
    routeName: "SinglePageApp",
    routeUrl: "{*url}",
    physicalFile: "~/Default.aspx",
    checkPhysicalUrlAccess: false
);

// MVC version of the above ASPX version:
routes.MapRoute(
    name: "SinglePageApp",
    url: "{*url}",
    defaults: new { controller = "Home", action = "Index" }
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM