Asp.Net路由重写为用户名或者ID】的更多相关文章

有一个需求如下:指定某个Area的路由(Area:Wx)在其后面添加用户名或者ID作为URL参数,即像下面的样子: /Wx/xiaoming/ /Wx/xiaoming/photo /Wx/xiaoming/photo/manage?oid=34 这样的话修改一下路由就好了,如下: context.MapRoute( "Wx_rester_with_id2", "Wx/{rid}/{controller}/{action}/", new { controller =…
这段时间在学习ASP.NET路由.HTTP处理等内容,了解了一些,但又未完全弄懂,似是而非,不管如何,作一总结,供日后借鉴和修改. 一.IIS6和IIS7经典模式和集成模式 在IIS6及IIS7经典模式下,对ASP.NET的处理部分是独立出来的,靠aspnet_isapi.dll来处理完成.一个请求从浏览器发到IIS,IIS先判断请求的类型,如果是ASP.NET部分,就转发给aspnet_isapi.dll来处理,处理完了再返回给IIS,再由IIS返回到浏览器. 而在IIS7集成模式中,不管什么…
http://blog.csdn.net/buhuan123/article/details/26387427 目录(?)[-] 1那么我们再来看我们需要的访问方式如下图 razor视图的地址写成通配符就是 3那么我们进入正题修改他的寻找视图的规则让他能够按照我们的规则来访问就像修改路由一样 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来存放. 1.那么我们再来看我们需要的访问方式,如下图 如果我们要访问Admin下的TestController…
背景 在做微信公众号的改版工作,之前的业务逻辑全塞在一个控制器中,现需要将其按厂家拆分,但要求入口不变. 拆分很简单,定义控制器基类,添加公用虚方法并实现,各个厂家按需重载. 但如何根据统一的入口参数路由到不同的控制器呢? 最容易想到的方案无外乎两种: 路由重定向 路由重写 简易方案 但最最简单的办法是在进入ASP.NET Core MVC路由之前,写个中间件根据参数改掉请求路径即可,路由的事情还是让MVC替你干就好. 定义自定义中间件: public class CustomRewriteMi…
一般我们在mvc开发过程中,都会碰到这样的问题.页面总是写在Views文件夹下,而且还只能一个Controller的页面只能写在相应的以Controller名命名的文件夹下.如果我们写到别处呢?那么肯定会报错.这是mvc中一个约定俗成的一个规定,必须这样写. 1.正常的项目目录,如下图: 我们要访问Index页面,只需要输入Home/Index就可以访问了.我们之所以能够这样访问,是因为我们在项目创建之初系统就默认配置了一个默认的路由.我们可以按照这个默认的路由规则进行访问. 2.那么我们再来看…
一般我们在mvc开发过程中,都会碰到这样的问题.页面总是写在Views文件夹下,而且还只能一个Controller的页面只能写在相应的以 Controller名命名的文件夹下.如果我们写到别处呢?那么肯定会报错.这是mvc中一个约定俗成的一个规定,必须这样写. 1.正常的项目目录,如下图: 我们要访问Index页面,只需要输入Home/Index就可以访问了.我们之所以能够这样访问,是因为我们在项目创建之初系统就默认配置了一个默认的路由.我们可以按照这个默认的路由规则进行访问. 2.那么我们再来…
ASP.NET路由[ASP.NET Routing] ASP.NET路由允许你在使用URL时不必匹配到网站中具体的文件,因为这个URL不必匹配到一个文件,你使用了描述用户行为且更容易被用户理解的URL. ASP.NET MVC框架和ASP.NET动态数据(Dynamic Data)扩展路由为MVC应用和动态数据应用增加了特色. 在不使用路由的ASP.NET应用中,一个新的请求会被映射到一个物理文件并由该文件处理这个请求,例如一个.aspx文件.例如,如下请求http://server/appli…
转自:[原]Asp.net Mvc   多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来存放. 1.那么我们再来看我们需要的访问方式,如下图 如果我们要访问Admin下的TestController里面的Index页面,那么我们输入Test/Index,这个肯定不行的.因为TestController根本就不在Controllers的根目录下,而是在Controllers/Admin下…
ASP.NET 路由使您可以使用不必映射到网站中特定文件的 URL. 由于该 URL 不必映射到文件,因此可以使用对用户操作进行描述因而更易于被用户理解的 URL. ASP.NET MVC 框架和 ASP.NET 动态数据对路由进行扩展,以提供仅在 MVC 应用程序和动态数据应用程序中使用的功能. 有关 ASP.NET MVC 的更多信息,请参见 ASP.NET MVC. 有关动态数据的更多信息,请参见ASP.NET 动态数据内容映射. 在不使用路由的 ASP.NET 应用程序中,对 URL 的…
ASP.NET 路由 .NET Framework 4   更新:2007 年 11 月 ASP.NET 路由使您可以使用不必映射到网站中特定文件的 URL.由于 URL 不必映射到文件,所以可以在 Web 应用程序中使用 URL,这些 URL 是描述性的用户操作,因此更易于被用户理解. 在一个不使用路由的 ASP.NET 应用程序中,对 URL 的传入请求通常映射到磁盘上的物理文件,如 .aspx 文件.例如,对http://server/application/Products.aspx?i…
MVC模式下那些友好,屏蔽具体物理文件的URL让我眼馋,咱也想在WEB FORM项目用上一用. 按照指引,添加global.asax,写上路由代码什么的: <%@ Application Language="C#" %> <%@ Import Namespace="System.Web.Routing" %> <script runat="server"> void Application_Start(obje…
我们知道一个请求最终通过一个具体的HttpHandler进行处理,而我们熟悉的用于表示一个Web页面的Page对象就是一个HttpHandler,被用于处理基于某个.aspx文件的请求.我们可以通过HttpHandler的动态映射来实现请求地址与物理文件路径之间的分离.实际上ASP.NET路由系统就是采用了这样的实现原理.如下图所示,ASP.NET路由系统通过一个注册到当前应用的自定义HttpModule对所有的请求进行拦截,并通过对请求的分析为之动态匹配一个用于处理它的HttpHandler.…
URL 模式可以包含文本值和变量占位符(也称为“URL 参数”).  文本和占位符位于由斜杠 (/) 字符分隔的 URL 段中. 当生成请求时,URL 分析为段和占位符,变量值提供给请求处理程序.  此过程类似于分析查询字符串中的数据并将该数据传递给请求处理程序的方法.  在两种情况下,变量信息都包括在 URL 中并以键值对的形式传递给处理程序.  对于查询字符串,键和值都位于 URL 中.  对于路由,键是在 URL 模式中定义的占位符名称,只有值位于 URL 中. 在 URL 模式中,可以通…
URL: 一.URL规则 1.默认是区分大小写,可以修改(配置文件)为不区分大小写. 2. //修改URL大小写问题 'URL_CASE_INSENSITIVE' =>true, 如果模块名为 UserGroupAction,因为过于复杂. 那么url着模块就必须要写成: http://localhos/thinkphp/index.php/user_group/index (user与group之间有下划线) 3.如果 'URL_CASE_INSENSITIVE' =>false, 那么ur…
对于Asp.Net Web Forms应用来说,请求的Url都是对应一个具体的物理文件(http://xxx.com/default.aspx).这样的Url与具体物理文件紧密绑定在一起,带来了诸多方便的局限:可读性.SEO优化等.为了解决这些局限性,微软引入了URL路由系统.下面通过一个Demo来剖析一下Asp.Net的路由系统. 创建一个空的WebForm应用程序,在Global.asax.cs文件中加入如下代码: public class Global : System.Web.HttpA…
php框架Yaf路由重写 通常为了友好的URL格式,会进行站点URL的重写,可以在webserver(Nginx)的配置中进行rewrite,也可在在程序端进行 以下使用Yaf框架进行URL的重写,进行一些整理,方便日后查看 YAF的URL重写方式主要有以下几种,可以综合使用 方式1:在配置文件中进行 ;a rewrite route match request /product/*/* routes.route_name.type="rewrite" routes.route_nam…
在搜索引擎优化领域,静态网页对于SEO的优化有着很大的好处,因此很多人就想把自己的网站的一些网页做成伪静态.我们现在在网络上发现很多博客网站.论坛网站.CMS内容管理系统等都有使用伪静态这一种情况,伪静态在地址栏看到的URL地址是以.html结尾的,但实际上却是一个动态的网页,后台可能是Asp.net.Php或者Java动态生成的该页面. 下面简单介绍下ASP.NET MVC5模式下的伪静态的实现. 1.从URL地址来分析,伪静态的网页一般以.html结尾,那我们就需要进行URL重写,这种重写在…
一.什么是路由重写 原本的HTTP访问地址: www.test.com/index.php?r=post/view&id=100 表示这个请求将由PostController 的 actionView来处理. 重写后的HTTP访问地址 www.test.com/post/view/id/100 这样的链接看起来简洁美观,对于用户比较友好.同时,也比较适合搜索引擎的胃口, 据说是SEO的手段之一. 二.Apache 路由重写 (一)开启Apache的重写模块 1. 打开apache的config的…
大家好,我又来吹牛逼了 ~-_-~ 转载请注明出处:来自吹牛逼之<ASP.NET路由模型解析> 背景:很多人知道Asp.Net中路由怎么用的,却不知道路由模型内部的运行原理,今天我就给大家吹下ASP.NET的路由模块是如何工作的. ps:这是针对ASP.NET4.5版本的,好像在最新的5.0版本中加入了OWIN,彻底解耦了和Web服务器的耦合,我还没有研究过,不敢妄言4.5的模型适用5.0.(是不是被我严谨的态度震慑了_-_) action*0x1:大话ASP.NET模型 首先我们先来了解下一…
今天用ASP.NET Core重写了个人博客站点,原来是基于ASP.NET 4.5开发的.重写工作总体很顺利,最后成功发布到Ubunt+Nginx平台上.效果如下: 右边的Header信息里可以看到已经是Nginx(Ubuntu)了,虽然最后成功发布了,但是过程中遇到点坑,特来分享. HtmlHelper问题 ASP.NET Core之前,大家都很熟悉HtmlHelper方法.但是到了ASP.NET Core后,一些方法已经不能使用了,取而代之的是全新的TagHelper.但今天我遇到的问题是@…
1.IIS7配置URL重写需要注意系统是32位还是64位的 在IIS7配置URL重写的时候,需要添加“脚本映射”,如果是64位系统,会有两个地方存放.net framework分别是32位系统和64位系统的不同版本.如果是32位系统只有一个版本,所以一般不会出问题,如果是64位的系统需要选择64位系统中Framework64文件夹中的asp.net_isapi.dll,否则url重写无法生效. 其实还有一个地方可以设置来让我们不必要必须选择64位Framework,这个地方就是iis的应用程序池…
通过ASP.Net页面获取域用户名(当前登陆的用户) 原文地址: https://www.cnblogs.com/fast-michael/archive/2011/03/14/2057954.html 1 string domainAndName = Page.User.Identity.Name; 2 string[] infoes = domainAndName.Split(new char[1] { '\\' }, StringSplitOptions.RemoveEmptyEntrie…
ASP.NET Web API 如果采用Web Host方式来寄宿,在请求进入Web API 消息处理管道之前,就会用ASP.NET 自身的路由系统根据注册的路由表,解析出当前请求的HttpController和Action的名称,以及与目标Action方法某个参数进行绑定的路由变量. ASP.NET路由系统包括两方面应用: 注册路由映射,即注册路由模板和物理文件的匹配关系,实现请求URL地址和处理请求的物理地址的分离,可以提高请求URL可读性,SEO优化,灵活性,即请求URL和处理请求的物理文…
1.那么我们再来看我们需要的访问方式,如下图 如果我们要访问Admin下的TestController里面的Index页面,那么我们输入Test/Index,这个肯定不行的.因为TestController根本就不在Controllers的根目录下,而是在Controllers/Admin下,这样我们根本就找不到Test这个Controller.那么我们输入Admin/Test/Index,那么我们就需要添加一个路由配置了,因为以前的默认路由只能通过{Controller}/{Action}/{…
很多时候我们的真实路由是隐藏的,都经过重写后展现到前台,下面简单写两个我经常用到的几个: 一般在配置*.host(在http里面引入的server配置)的时候会用到每个不同网址的路由重写,每一个rewrite都是单独写的,具体怎么写,看你需要咯 在配置server的时候里面引入文件:rewrite/server_name.conf include rewrite/server_name.conf; 这里我用*代替你要引入的conf文件,推荐命名的时候跟server_name保持一致,方便管理 r…
angular6 路由拼接查询参数如 ?id=1 并获取url参数 路由拼接参数: <div class="category-border" [routerLink]="['/list/' + category.id + '/' + category.slug]" [queryParams]="{id: 1}"> 拼接后在浏览器显示: 域名  http://localhost:4200/?id=1 angular 获取参数 id 的值…
在ASP.NET MVC中来实现主题的切换一般有两种方式,一种是通过切换皮肤的css和js引用,一种就是通过重写试图引擎.通过重写试图引擎的方式更加灵活,因为我不仅可以在不同主题下面布局和样式不一样,还可以让不同的主题下面显示的数据条目不一致,就是说可以在某些主题下面添加一下个性化的东西. 本篇我将通过重写视图引擎的方式来进行演示,在这之前,我假设你已经具备了MVC的一些基础,我们先来看下效果: 系统登录后是默认主题,当我们点击切换主题之后,左侧菜单栏的布局变了,右侧内容的样式也变了,而地址栏是…
这段时间在读园子里Artech大神的<ASP.NET MVC5框架揭秘>,慢慢地从底层了解了MVC模式的设计思路.下面是一些阅读的总结. 传统的Web Forms应用,URL指向的是具体的物理文件,而ASP.NET MVC应用一般指向的是某个Controller中的某个Action方法.URL与目标Controller/Action之间的映射关系是通过“路由”来实现的. 路由系统中的几个核心类的描述: RouteBase 一个抽象基类. public abstract class RouteB…
修改app_start/webapiconfig.cs using System.Web.Http; using System.Web.Routing; using Ninject; using TxMobile.Filters; using TxMobile.Models; using WebApiContrib.IoC.Ninject; namespace TxMobile { /// <summary> /// WebApi路由配置 /// </summary> public…
一.前后台代码: Global.cs: using System.Web.Routing; ... void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 //RegisterRoutes(); RegisterRoutes(RouteTable.Routes); } public static void RegisterRoutes(RouteCollection routes) { routes.MapPag…