我如何在路由表中覆盖.svc文件?
我有此URL,该URL从主要网站的一些JSON帖子中使用: 我们正在将网站慢慢更新为ASP.NET MVC 2,并且不想破坏系统中的任何当前URL. (JavaScript刷新问题) 我已删除/services/api.svc,并将此API调用的逻辑移至以下控制器: http://site/site/legacyapi/updateEtem 不幸的是,在添加路线时,我似乎无法将其覆盖api.svc并继续遇到404错误. 路线: routes.MapRoute( "UpdateItemApi", "Services/api.svc/UpdateItem", new { controller = "LegacyApi", action = "UpdateItem" } ); 根据对此的任何帮助将不胜感激. 更新 标准.aspx页面的路由按预期运行,因此,这似乎是.svc文件以及
0 2024-04-14
编程技术问答社区
如果你有ASP.NET路由实现,ASP.NET中的PageMethods未能发挥作用
我有一个网络方法: [System.Web.Services.WebMethod] public static string getCharacterstics(int product_id, int lang_id) { // code goes here... } 我想使用pagemethods访问: (提供了我在ScriptManager中启用pagemethods的条件): $(document).ready( function () { $('#characterstics').html("loading"); // '' , '' PageMethods.getCharacterstics(0 ,0
0 2024-04-14
编程技术问答社区
在不改变MVC的URL的情况下为一个特定的URL创建路由
我有一个在www.domain.com上运行的MVC Web应用程序,我需要为同一Web应用程序为另一个域www.domain2.com配置其他URL. 新域www.domain2.com将必须像/Category/Cars一样返回特定的控制器操作视图: routes.MapRoute( name: "www.domain2.com", url: "www.domain2.com", defaults: new { controller = "Category", action = "Cars", id = UrlParameter.Optional } ); 如何在不更改URL的情况下实现此目的,因此访问者插入URL www.domain2.com并接收视图www.domain.com/category/cars,但URL仍保留www.domain2.com? 编辑: 我尝试了这种方法,但它不起作用: routes.MapRou
0 2024-04-13
编程技术问答社区
ASP MVC重定向而不改变URL(路由)
目标: 我希望能够键入url:www.mysite.com/newyork或www.mysite.com/name-of-business 取决于我要路由到不同动作而不更改URL的字符串. 到目前为止,我有: public static void RegisterRoutes(RouteCollection routes) { routes.MapRoute( "UrlRouter", // Route name "{query}", // URL with parameters new { controller = "Routing", action = "TestRouting" } // Parameter defaults ); } 在控制器中我有: public ActionResult TestRouting(string query) { if (query == "Ne
0 2024-04-13
编程技术问答社区
测试一个请求的URL是否在路由表中。
我想测试URL是否是Global.asax中定义的路由的一部分.这就是我所拥有的: var TheRequest = HttpContext.Current.Request.Url.AbsolutePath.ToString(); var TheRoutes = System.Web.Routing.RouteTable.Routes; foreach (var TheRoute in TheRoutes) { if (TheRequest == TheRoute.Url) //problem here { RequestIsInRoutes = true; } } 问题是我无法从路线上提取URL.我需要更改? 解决方案 这是我最终做的: string TheRequest = HttpContext.Current.Request.Url.AbsolutePath.ToString(); foreach (Route
0 2024-04-13
编程技术问答社区
使用Web表单的ASP.NET路由
我已经阅读了 ASP.NET路由…再见URL重写?和使用与WebForms使用路由很棒的文章,但限于简单,说明性的" Hello World" - 复杂示例. 有人使用ASP.NET路由以非平凡的方式使用Web表单吗?有什么人要知道吗?性能问题?在耕作我自己的实施之前,我应该进一步阅读? 编辑 找到了这些其他有用的URL: 如何:使用Web表单(MSDN) asp.net Routing(msdn) 如何: 解决方案 一个简单的示例,说明如何在ASP.NET中使用路由 创建空Web应用程序 添加第一个表格 - default.aspx 添加第二个表格-ASPX 添加第三种形式-third.aspx 添加到Default.aspx 3按钮 - protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("Second.aspx"); }
0 2024-04-13
编程技术问答社区
如何在asp.net表单中忽略路由,url路由
我正在使用.NET 3.5 SP1框架,并且我已经在应用程序中实现了URL路由.我遇到JavaScript错误: Error: ASP.NET Ajax client-side framework failed to load. Resource interpreted as script but transferred with MIME type text/html. ReferenceError: Can't find variable: Sys 我认为是因为我的路由正在拾取Microsoft AXD文件,而无法正确发送JavaScript.我进行了一些研究,发现我可以使用Routes.IgnoreRoute,这应该使我能够忽略如下: Routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 但是,当我将该行添加到我的global.asax时,我会收到此错误: CS1061: 'System.Web.Rout
0 2024-04-11
编程技术问答社区
如何在登录后将路由改为用户名?
在用户登录之前,路线为: localhost:54274/Home localhost:54274/Home/About localhost:54274/Home/Contact localhost:54274/Home/Login localhost:54274/Home/Register 用户登录后一次,路线为: 1. localhost:54274/Project 2. localhost:54274/Project/Create 3. localhost:54274/Project/Edit/1 4. localhost:54274/Project/Delete/2 5. localhost:54274/Project/1/Requirement 6. localhost:54274/Project/1/Requirement/Create 7. localhost:54274/Project/1/Requirement/Edit/3 8. localhost:5
0 2024-04-11
编程技术问答社区
在ASP.NET MVC中获取动作的完整URL
是否有一种内置的方式来获取全部动作的URL? 我正在寻找类似GetFullUrl("Action", "Controller")的东西,这些东西会返回http://www.fred.com/Controller/Action. 我寻找的原因是要避免生成的自动化电子邮件中的硬编码URL,以便始终可以相对于网站的当前位置生成URL. 解决方案 url.Action有超载您所需的协议(例如http,https)作为参数 - 如果您指定了这一点,则获得了完全合格的URL. 这是一个在操作方法中使用当前请求的协议的示例: var fullUrl = this.Url.Action("Edit", "Posts", new { id = 5 }, this.Request.Url.Scheme); htmlhelper(@html)还具有可以在剃须刀中使用的ActionLink方法的过载,以创建锚点元素,但它也需要主机名和片段参数.所以我只选择再次使用 @url.
0 2024-04-10
编程技术问答社区
MVC自定义路由中的多层次
我正在尝试建立自己的小CMS.我创建了一个抽象的页面库类,该类是由静态,评论,文章,新闻继承的.每个都有自己的控制器方法. 我的问题是我需要允许管理员定义自己的自定义路径级别.例如. news\local\mynewdog或Articles\events\conventions\mycon.因此,我想一种通过一系列字符串并设置自定义路由的方法. 解决方案 您可以使用自定义RouteBase子类无缝地进行CMS风格的路线. public class PageInfo { // VirtualPath should not have a leading slash // example: events/conventions/mycon public string VirtualPath { get; set; } public Guid Id { get; set; } } public class CustomPageRoute
0 2024-04-10
编程技术问答社区
有多个正斜杠的网址,是否会破坏任何东西?
http://example.com/something/somewhere//somehow/script.js 双斜杠是否在服务器端打破了任何东西?我有一个解析URL的脚本,我想知道如果我用单个斜杠替换了多个斜线,它是否会破坏任何东西(或更改路径).尤其是在服务器端,某些框架(例如CodeIgniter和Joomla)使用分段的URL方案和路由.我只想知道它是否破坏了任何东西. 解决方案 http rfc 2396 将路径分离器定义为单slash . 但是,除非您使用某种URL重写(在这种情况下,重写规则可能会受到斜线数的影响),否则URI映射到磁盘上的路径,但在(大多数?)现代操作系统中(Linux/Unix,Windows),一行的多个路径分离器没有任何特殊含义,因此/path/to/foo and/path//to////foo最终将映射到同一文件. 可能受到影响的另一件事情是缓存.由于您的浏览器和服务器缓存单个页面(根据其缓存设置),因此通过稍有不同的
0 2024-04-03
编程技术问答社区
覆盖flask蓝图中的路线
有一个蓝图,其中有许多有用的路由,但我无法控制它(无法以任何方式更改其代码) 试图在另一个应用程序中重复使用它,但是蓝图的一个终点之一必须超载.我该如何实现? 我尝试在现有的蓝图上添加新的蓝图: @blueprint.route('/my/route', methods=['PUT', 'POST']) def my_new_view_func(program, project): # some new behavior for the endpoint 结果app.url_map.iter_rules()中有重复的url_rule: my_view_func>, my_new_view_func>, 请求/my/route旧查看器my_view_func被执行 我可以以某种方式摆脱旧的URL规则吗?也许有一种更好的方
2 2024-03-26
编程技术问答社区
AngularJS路由与后端路由的对比
我想在下一个项目中使用angularjs. 使用Python后端和HTML5,Angular Frontend的应用. 我将在后端使用MVC框架,我有点困惑. 我必须在后端使用路由吗? 因为我总是在前端使用后端路由和路由对我来说确实是新的想法. 客户端路由更好吗?当我选择使用前端路由时,后端将没有路由?所有请求将发送到一个URL? 解决方案 您可以使用客户端路由,让后端返回静态文件和JSON数据. Angular中的路由基本上告诉您需要从服务器下载哪个部分模板,哪些控制器将处理它. 您的后端路线将像这样 '/partials/:name' -> return corresponding partial '/api/*' -> handlers to return json data '/*' -> return index.html 您的index.html将包含对其他视图的引用 ... ...
2 2024-03-26
编程技术问答社区
Backbone.history在IE 9中没有更新。后退按钮损坏
在我们的应用中,我们实际上有两个骨干水疗应用程序.第一个是登录,注册和其他功能,用于未经身份验证的用户.该URL将是 http://www.example.com/registration#signin/a >.登录后,您将重定向到我们的主要骨干应用程序,网址为在我的主UI应用程序中,我使用的是backbone.history 没有PUSTSTATE.该应用程序看起来像: define(function (require) { var App = new Marionette.Application(); App.addInitializer(function (options) { ... }); ... App.on('initialize:after', function () { $(function(){ if (Backbone.history) {
0 2024-03-26
编程技术问答社区
Backbone.js和regex路由
是否可以注册/pages/*url的路线,但不能在/pages/*url/edit/上注册url可以像这样的foo/bar/and-so-on? 解决方案 router.route.route 在本机上使用Regex. initialize: function(options) { // Matches /117-a/b/c/open, passing "117-a/b/c" to this.open this.route(/^(.*?)\/open$/, "open"); }, open: function(id) { ... }
0 2024-03-26
编程技术问答社区
Backbone导航在Firefox中触发了两次
尝试使用骨干的导航属性. this.navigate("week/" + companyName + "/" + employeeNo + "/" + weekEnd, { trigger: true, replace: false }); 上面的代码一次执行一次. 它击中了这一点: routes: { "week/:companyName/:employeeNo/:weekEnd": "getWeek" }, 然后,此功能被击中两次: getWeek: function (companyName, employeeNo, weekEnd) { console.log('getWeek:', companyName, employeeNo, weekEnd); } 它在Firefox中被记录了两次,仅在IE和Chrome中一次. 这里有什么问题?我最初甚至没有设置为true,而Firefox忽略了它,但仍然触发了URL.
2 2024-03-26
编程技术问答社区
如何将查询字符串传递给backbone.js路由?
我正在使用backbone.js和jQuery-mobile. jQuery-Mobile路由是禁用的,我仅用于UI.除了选择页面过渡外,我有一切正常.我需要将页面过渡('slice-up','vade','slide-down')传递给骨干路由器,因为过渡是根据用户来自的位置而变化的. . 我想出了一种非常丑陋的方法,可以通过URL传递它们: class App.Routers.Foods extends Backbone.Router routes: '': 'index' ':transition': 'index' 'foods/new': 'new' 'foods/new/:transition': 'new' initialize: -> @collection = new App.Collections.Foods() @collection.fetch() index: (transition)
0 2024-03-26
编程技术问答社区
首选的客户端路由解决方案?
我正在设计一个基于浏览器的Web应用程序. JQuery已经在我的应用程序中使用了.我目前正计划将KnockoutJS用于数据结合和UI管理.但是,我过去曾经使用过Backbone.js,并且对控制器层提供的路由设施印象深刻. 我还研究了一些基于jQuery的解决方案,例如 pathjs 客户端路由. 如果有人可以提供选择适当的路由系统的建议和准则,那将是很棒的. 我不愿意使用Backbone.js而不是KnockoutJS,因为KnockoutJS的出色数据结合设施. 解决方案 经过一些探索后,我找到了解决方案. @eisenhauer骨干的路由设施很棒,但是如果我不使用骨干呢? 正如我在问题中概述的那样,我已经在使用为我提供客户端MVVM模型的QuintOutJS,因此在同一页面上将其他MVC实现放置并不是一个好主意. 对于寻求独立路由解决方案的人们来说,Pathjs是一个简单而优雅的解决方案. crossroads.js可在 http:h
0 2024-03-26
编程技术问答社区
用pushState为Backbone SPA配置节点快递
我的Express应用程序具有REST服务器和一个使用骨干的水疗中心.使用#历史记录,即 都可以正常工作 Backbone.history.start(); 如果我这样做: Backbone.history.start({ pushState: true }); 骨干路由器停止工作 - 骨干可处理罚款的路线(例如,#ROUTE)在变为/路由时被发送以表达.用: 表示错误 Cannot GET /route 我尝试了: Backbone.history.start({ pushState: true, root '/' }); 但没有区别. 我也尝试了: app.use('/*', function ... 在express-无差异. express server.js: var express = require('express'); var app = express(); var bodyParser = requir
0 2024-03-26
编程技术问答社区
如何在Angular中设置默认页面
我在使用此URL请求链接时会遇到错误:http://xxx:46630/或此http://crmbyzaid.azurewebsites.net/ ,但是当我将'/index.html'添加到URL时,它可以正常工作.现在,我想设置部分页面" app/dashboard/dashboard.html"的默认渲染. 我的 config-route.js 的代码是 function routeConfigurator($routeProvider, routes) { routes.forEach(function (r) { $routeProvider.when(r.url, r.config); }); $routeProvider.otherwise({ redirectTo: '/' }); } function getRoutes() { return [ { url: '/'
4 2024-03-23
编程技术问答社区