我这里有点问题.我需要在我正在处理的网站的每个网址末尾添加一个尾部斜杠.我将网站内的所有链接定义为具有如下的尾部斜杠:
<a href="/register/">Register</a>
Run Code Online (Sandbox Code Playgroud)
虽然这很好用,但还有一个小问题:它来自调用RedirectToAction()的生成的url.例如:
return RedirectToAction("Register", "Users");
Run Code Online (Sandbox Code Playgroud)
将导致url更改为/ register,没有尾部斜杠.我修改了我的路由系统:
routes.MapRoute("register",
"register/",
new {controller = "Users", action = "Register"}
);
Run Code Online (Sandbox Code Playgroud)
仍然不会自动添加所需的尾部斜杠!
我查了这个问题和这个问题,但这些完全不同,因为我没有使用任何url重写库,我只是使用asp.net mvc路由系统.
那么你们怎么说呢?
访问stackoverflow.com/#_=_
并window.location.hash
评估#_=_
.精细.
现在执行window.location.hash = ''
清除哈希,URL变为stackoverflow.com/#
.(请注意尾随#
.)
为什么#
在window.location.hash
不一致包含或排除?如何在#
不重新加载页面的情况下从URL中删除?
(MDN说
[哈希]是#符号后面的URL的一部分,包括#符号.
但在空哈希的情况下,情况并非如此.)
我需要RoutData
通过ASP.NET MVC应用程序中的给定URL字符串来获取.
我找到了HttpContextBase
基于URL字符串模拟的RouteTable.Routes.GetRouteData()
方法,然后将其传递给Route Parsing(Uri to Route)线程中的方法.
如何使用URL字符串模拟HttpContextBase
检索?RouteData
RouteTable.Routes.GetRouteData()
或者是否有另一种RouteData
通过URL 检索的方法?
在Express文档中,它说:
应用程序级中间件绑定到express的实例,使用app.use()和app.VERB().
路由器级中间件就像应用程序级中间件一样工作,除了它们绑定到一个实例
express.Router()
.在上面的示例中,在应用程序级别创建的中间件系统可以使用以下代码在路由器级别进行复制.
在Express生成器提供的应用程序中,我看到主要app.js
有:
var routes = require('./routes/index');
app.use('/', routes);
Run Code Online (Sandbox Code Playgroud)
在./routes/index.js
,我看到了这个:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
app.use
传递它router.get
而不是简单地使用它的目的是什么app.get
?一般,有什么之间的区别app.VERB
,并router.VERB
在路由方面?
我想知道URL路由器和Dispatcher之间的区别,因为在互联网上搜索有一些有趣的东西,只是不知道是不是因为它们相似,或者因为它们反转了每个的功能.任何人都可以告诉我它是什么,每个人是什么,一个例子?
我不知道从URL路由器到Dispatcher的区别,他们在互联网上的内容问题,有时似乎Dispatcher是路由器,而路由器似乎是Dispatcher,最终不知道每个人的权利是什么,什么是每一个,以及如何实现每一个.
谢谢.
我无法找到一个直截了当的答案,这让我相信它真的很简单.不管怎样,我走了.
我的$ routeProvider中的所有调用都很好,但是区分大小写.这是一个代码示例:
config(function ($routeProvider) {
$routeProvider.
when('/', { controller: 'TmpCtrl', templateUrl: '/app/home.html' }).
when('/foo', { controller: 'TmpCtrl', templateUrl: '/app/foo.html' }).
otherwise({ redirectTo: '/' });
});
Run Code Online (Sandbox Code Playgroud)
我需要添加什么以便'/ Foo','/ fOO','/ FoO'等都重定向到同一路径?
我有以下情况.
我开发了我的第一个MVC Asp.Net应用程序.它在我的服务器上运行以下地址
http://localhost:59441/
Run Code Online (Sandbox Code Playgroud)
我写了一些看起来像这样的JQuery Post Methods
$.ajax({
type: "POST",
url: "/CeduleGlobale/UpdateCheckBox", ...
Run Code Online (Sandbox Code Playgroud)
CeduleGlobale是我的ControllerName,UpdateCheckBox是我的methodName
当我将应用程序放在testServer上时,它被放在VirtualDirectory中
因此现在申请
http://testServer/JprApplication/
Run Code Online (Sandbox Code Playgroud)
没有更多要指定的端口以及应用程序名称
当我开始测试时,我很快发现我的JQuery Post调用不再起作用了......
我修改了它们,所以现在URL是
/JprMvc/CeduleGlobale/UpdateCheckBox
Run Code Online (Sandbox Code Playgroud)
问题是2倍.
我确信我遗漏了一些基本的东西来简化这个.
谢谢
我一直在寻找各种RIA,并注意到一些人使用或请求JavaScript路由.只是浏览它'JavaScript Routing'看起来像是一种遍历你网站的方式......但我可以使用一个简单的链接.这意味着我绝对不会得到它.
所以...
我有一个Rails 3应用程序,其中包含多个包含附加功能的引擎.每个引擎都是一个单独的服务,客户可以购买.
但是,我对来自引擎的路径存在问题,这些路由不容易用于控制器和视图.
控制器:
class ClassroomsController < ApplicationController
..
respond_to :html
def index
respond_with(@classrooms = @company.classrooms.all)
end
def new
respond_with(@classroom = @company.classrooms.build)
end
..
end
Run Code Online (Sandbox Code Playgroud)
app/views/classrooms/new.html.haml
:
= form_for @classroom do |f|
..
f.submit
Run Code Online (Sandbox Code Playgroud)
config/routes.rb
在引擎中:
MyEngineName::Engine.routes.draw do
resources :classrooms
end
Run Code Online (Sandbox Code Playgroud)
config/routes.rb
在app中:
Seabed::Application.routes.draw do
mount MyEngineName::Engine => '/engine'
...
end
Run Code Online (Sandbox Code Playgroud)
lib/my_engine_name.rb
在引擎中:
module MyEngineName
class Engine < ::Rails::Engine
end
end
Run Code Online (Sandbox Code Playgroud)
试图进入/classrooms/new
结果
NoMethodError in Classrooms#new
Showing app/views/classrooms/_form.html.haml where line #1 raised:
undefined method `hash_for_classrooms_path' for #<Module:0x00000104cff0f8>
Run Code Online (Sandbox Code Playgroud)
并尝试classrooms_path …
ruby-on-rails url-routing rails-routing rails-engines ruby-on-rails-3
我正在开发一个新的客户端专用应用程序,其中包含最新版本的Ember.js.有一个PHP页面可以构建脚本,css,模板文件等,并将它们全部传递到index.php中.我正在使用htaccess指令,以便将所有请求重写为/index.php.就我而言,PHP只是方便地打包Javascript.
目前,浏览器中的路由看起来像这样,工作得很好.
/#/about
/#/favorites
/#/etc
/#/posts/5/edit
Run Code Online (Sandbox Code Playgroud)
但是,我希望它们看起来像这样 - 这样做不行.
/about
/favorites
/etc
/posts/5/edit
Run Code Online (Sandbox Code Playgroud)
完全相同的客户端代码仍然与第二个选项一起提供 - 但它总是命中索引路由处理程序.我见过客户端应用程序之前已经解决了这个问题 - 我错过了什么?我需要在PHP端配备匹配的路由处理程序吗?
编辑:我正在寻找如何解决这个问题的具体答案.网络充满了"哦 - 你只是这样做"的信息,让其他人都摸不着头脑.
url-routing ×10
javascript ×4
asp.net-mvc ×3
angularjs ×1
asp.net ×1
client-side ×1
ember.js ×1
express ×1
html ×1
jquery ×1
node.js ×1
oop ×1
php ×1
routing ×1
url ×1