例如,我不想使用“http://localhost/#/Employee/5 ”,而是转到“http://localhost/Employee/5 ”。我希望 Web 服务器为所有 url 返回完全相同的 ~/Default.aspx 页面(而不是 404)。地址栏中的 URL 必须保留为/Employee/5,并且不能重定向到我的基本页面。然后 JavaScript 框架可以在我的单页应用程序中路由 url。
我的 js 客户端已经在工作了(在我的backbone.history.start 中使用了pushState: true - 请参阅 Backbone routes without hashes? )。
最佳答案
// 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" }
);
关于c# - 如何使 Asp.Net 服务器端路由与无哈希 url 一起工作?例如用于 Backbone/AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34006237/