fac*_*ook 54 asp.net-mvc routes
我需要实现哈希值,即Url应该如下所示:
/家庭/索引/#创建
为此添加了一条路线:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/#{detail}", // URL with parameters
new { controller = "Login", action = "LogIn", detail =""} // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
在访问时/home/index/#create,它将我重定向到默认路由.
如何才能做到这一点?
Ror*_*san 108
如上所述,使用路由无法做到这一点.唯一可行的解决方案是在控制器的操作中重定向时将#片段附加到您的URL.例如.
return Redirect(Url.Action("Index", "Home") + "#create");
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 51
您无法#在服务器上的符号后面获取值,因为此值永远不会发送到服务器.只有客户端javascript可以访问这个,所以定义带有哈希的路由没有多大意义.
当浏览器发出URL请求时,它不会在散列后向服务器发送任何内容.此路由可以使您生成包含哈希值的路由URL,但是当用户导航到此类URL时,无法在服务器端执行任何操作.这就是网络的运作方式......
| 归档时间: |
|
| 查看次数: |
32562 次 |
| 最近记录: |