c# - 如何使 Asp.Net 服务器端路由与无哈希 url 一起工作?例如用于 Backbone/AngularJS

标签 c# asp.net asp.net-mvc

例如,我不想使用“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/

相关文章:

c# - 如何在较高级别指定要使用的数据库隔离级别?

c# - 在 WPF 中绘制大量可视元素的建议(简单)方法?

c# - Asp.net调用C#层调用Managed C++调用Native C++

c# - 如何在 C# MVC 中创建动态复选框列表组?

c# - 服务器无法在发送 HTTP header 后附加 header c# pdf inline

C#:查找SQL查询涉及的表

c# - 从对象数组中删除重复项

asp.net - 无法加载应用程序页面中的类型错误

c# - GridView 列大小不更改 ASP.NET

asp.net-mvc - 有关 asp.net mvc 的性能问题(部分 View 和 html 帮助程序)