Tag: url routing

如何通过URL获取RouteData?

我需要在ASP.NET MVC应用程序中通过给定的URLstring来获取RoutData 。 我发现我需要根据我的URLstring来模拟HttpContextBase ,然后将它传递给Route Parsing(Uri to Route)线程中的RouteTable.Routes.GetRouteData()方法。 如何模拟HttpContextBase通过使用RouteTable.Routes.GetRouteData() URLstring检索RouteData ? 或者有另一种方式来检索URL的RouteData ?

ASP.NET MVC的Url路由支持(点)

我希望你能帮助我解决下面的问题。 我在IIS7上使用ASP.NET MVC 3,并希望我的应用程序支持点用户名。 例如: http://localhost/john.lee 这就是我的Global.asax的样子:( http:// localhost / {username}) routes.MapRoute( "UserList", "{username}", new { controller = "Home", action = "ListAll" } ); 当我访问其他页面,如http://localhost/john.lee/details等 但主要的用户页面不起作用,我希望应用程序像支持http://www.facebook.com/john.lee的 Facebook一样工作。 我使用下面的代码,它根本不适用于我: <httpRuntime relaxedUrlToFileSystemMapping="true" /> 我能够使用下面的代码,并获得应用程序接受点,但我绝对不希望使用下面的代码有很多不同的原因,请告诉我有一种方法来解决这个问题。 <modules runAllManagedModulesForAllRequests="false" />

如何在Angular.js中推迟path定义?

我已经configuration了所有用户login前可以使用的一些基本路由: App.config(function ($routeProvider) { $routeProvider. when('/login', { templateUrl: 'views/login.html', controller: PageStartCtrl.Controller }). otherwise({ redirectTo: '/login' }); }); 所以用户可以做的唯一事情就是login。在用户login后,我想要注册其他的路由,例如: $http .post('api/Users/Login', { User: userName, Password: userPassword }) .success(function (response : any) { App.config(function ($routeProvider) { $routeProvider .when('/dashboard', { templateUrl: 'part/dashboard.html', controller: DashboardCtrl.Controller }); }); 但是,我想我应该只调用一次.config方法,因为$ routeProvider是一个全新的实例,对/ login路由一无所知。 进一步的debugging表明,当parsing视图更改时,会使用$ resourceProvider的第一个实例。 问:以后如何注册路线有办法吗? 从路由和模板dynamic添加到$ routeProvider的解决scheme可能工作,但相当丑陋(涉及全局variablesnastyGlobalReferenceToRouteProvider )。

客户端路由(使用react-router)和服务器端路由

我一直在想,我很困惑与客户端和服务器之间的路由。 假设在将请求发送回Web浏览器之前,我使用ReactJS进行服务器端渲染,并使用react-router作为客户端路由在页面之间进行切换,而不用刷新SPA。 想到的是: 如何解释路线? 例如,从主页( /home )请求到发布页面( /posts ) 路由在服务器端或客户端在哪里? 它如何知道它是如何处理的?

带有多个正斜杠的url,是否会破坏任何东西?

http://example.com/something/somewhere//somehow/script.js 双斜线是否会破坏服务器端的任何内容? 我有一个parsingURL的脚本,我想知道是否会打破任何东西(或更改path),如果我用一个斜杠replace多个斜线。 特别是在服务器端,像CodeIgniter和Joomla这样的框架使用了分段的urlscheme和路由。 我只想知道它是否会破坏任何东西。

为什么我需要使用http.StripPrefix来访问我的静态文件?

main.go package main import ( "net/http" ) func main() { http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) http.ListenAndServe(":8080", nil) } 目录结构: %GOPATH%/src/project_name/main.go %GOPATH%/src/project_name/static/..files and folders .. 即使在阅读文档之后,我仍然无法理解http.StripPrefix在这里的作用。 1)为什么我不能访问localhost:8080/static如果我删除http.StripPrefix ? 2)如果我删除该function,什么URL映射到/static文件夹?

用于search的ASP.NET MVC自定义路由

这是我的情况。 对于这个例子可以说,我需要返回一个基于search条件的汽车列表。 我想有一个视图来显示结果,因为输出将是相同的,但我需要几种方法到达那里。 例如,我可能会有一个带有文本框的表单按年进行search。 我可能有另一个单独的页面,其中包含所有红色丰田汽车的超链接。 如何在同一视图和控制器中处理这些多个场景。 我的困境是,search可能包含几个选项…年,制作,模型等,但我不知道把它们放在哪里。 什么是最好的办法呢? 我应该在路由中定义参数还是使用查询string等?

在react-router v4中嵌套路由

我在我的应用程序中将反应路由器升级到版本4。 但现在我得到了错误 Warning: You should not use <Route component> and <Route children> in the same route; <Route children> will be ignored 这个路由有什么问题? import { Switch, BrowserRouter as Router, Route, IndexRoute, Redirect, browserHistory } from 'react-router-dom' render(( <Router history={ browserHistory }> <Switch> <Route path='/' component={ Main }> <IndexRoute component={ Search } /> <Route path='cars/:id' component={ Cars […]

使用ASP.NET路由来提供静态文件

ASP.Net路由(而不是MVC)可以用来提供静态文件吗? 说我想要路线 http://domain.tld/static/picture.jpg 至 http://domain.tld/a/b/c/picture.jpg 而且我想dynamic地执行,因为重写的URL是即时计算的。 我无法一劳永逸地设置一条静态路由。 无论如何,我可以创build一个这样的路线: routes.Add( "StaticRoute", new Route("static/{file}", new FileRouteHandler()) ); 在FileRouteHandler.ProcessRequest方法中,我可以重写从/static/picture.jpg到/a/b/c/picture.jpg的path。 然后我想为静态文件创build一个处理程序。 ASP.NET为此使用StaticFileHandler 。 不幸的是,这个class是内部的。 我试图创build使用reflection处理程序,它实际上工作: Assembly assembly = Assembly.GetAssembly(typeof(IHttpHandler)); Type staticFileHandlerType = assembly.GetType("System.Web.StaticFileHandler"); ConstructorInfo constructorInfo = staticFileHandlerType.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, Type.EmptyTypes, null); return (IHttpHandler) constructorInfo.Invoke(null); 但是使用内部types似乎不是合适的解决scheme。 另一个select是实现我自己的StaticFileHandler ,但是正确地执行(支持范围和etags之类的HTTP内容)并不重要。 我应该如何处理ASP.NET中的静态文件的路由?