首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.net core 2.1MVC上子站点的路由

ASP.NET Core是一种跨平台的开源框架,用于构建现代化的Web应用程序。它具有高性能、可扩展性和灵活性的特点,可以在Windows、Linux和macOS等操作系统上运行。

MVC(Model-View-Controller)是一种软件设计模式,用于将应用程序的逻辑分离为三个主要组件:模型、视图和控制器。ASP.NET Core MVC是基于ASP.NET Core的MVC框架,用于构建Web应用程序。

在ASP.NET Core 2.1 MVC中,可以通过配置路由来定义子站点的路由。路由是指将URL映射到相应的控制器和操作方法的过程。

要在ASP.NET Core 2.1 MVC上创建子站点的路由,可以按照以下步骤进行:

  1. 在主站点的Startup.cs文件中,使用MapAreaRoute方法来定义子站点的路由。该方法接受一个参数,用于指定子站点的名称和路由模板。例如:
代码语言:txt
复制
app.UseMvc(routes =>
{
    routes.MapAreaRoute(
        name: "Subsite",
        areaName: "Subsite",
        template: "Subsite/{controller=Home}/{action=Index}/{id?}"
    );
});
  1. 在子站点的文件夹中创建一个名为"Subsite"的文件夹,并在该文件夹中创建一个名为"HomeController.cs"的控制器文件。在控制器文件中,可以定义子站点的控制器和操作方法。例如:
代码语言:txt
复制
namespace Subsite.Controllers
{
    [Area("Subsite")]
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }
}
  1. 在子站点的文件夹中创建一个名为"Views"的文件夹,并在该文件夹中创建一个名为"Home"的文件夹。在"Home"文件夹中创建一个名为"Index.cshtml"的视图文件,用于显示子站点的首页内容。

通过以上步骤,就可以在ASP.NET Core 2.1 MVC上创建一个子站点,并定义其路由。当访问子站点的URL时,将会调用相应的控制器和操作方法,并显示对应的视图内容。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云视频处理(VOD):https://cloud.tencent.com/product/vod
  • 腾讯云音视频通信(TRTC):https://cloud.tencent.com/product/trtc
  • 腾讯云云原生应用引擎(TKE):https://cloud.tencent.com/product/tke

请注意,以上链接仅供参考,具体的产品选择应根据实际需求和情况进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core路由:内联路由约束检验

我们在上面已经提到过,这个约束并不是应用在具有某个路由参数上,而是应用到整个请求,它要求匹配请求必须具有指定方法。...当我们在一个ASP.NET Core应用中使用路由功能时候,除了需要注册这个RouterMiddleware中间件之外,一般还需要调用ServiceCollection扩展方法AddRouting注册一些与路由相关服务...我们利用资源文件来作为文本资源存储,如下图所示,我们在一个ASP.NET Core应用中创建了两个资源文件Resources.resx(语言文化中性)和Resources.zh.resx(中文),并定义了一个名为...---- ASP.NET Core路由[1]:注册URL模式与HttpHandler映射关系 ASP.NET Core路由[2]:路由系统核心对象——Router ASP.NET Core路由...[3]:Router创建者——RouteBuilder ASP.NET Core路由[4]:来认识一下实现路由RouterMiddleware中间件 ASP.NET Core路由[5]:内联路由约束检验

1.3K60

ASP.NET Core路由路由系统核心对象——Router

ASP.NET Core应用中路由机制实现在RouterMiddleware中间件中,它目的在于通过路由解析为请求找到一个匹配处理器,同时将请求携带数据以路由参数形式解析出来供后续请求处理流程使用...下图基本展示了RouteAsync方法试试路由解析原理。 ?...它实际是作为路由解析输入,并在RouteContext创建时候以构造函数参数形式提供。...和DataTokens属性类型都是RouteValueDictionary,它实际就是一个字典对象而已,其Key和Value分别代表路由参数名称和值,而作为Key字符串是不区分大小写。...,为了全局对象造成“数据污染”问题,一种类型与“快照”策略被应用到RouteData

1.3K10
  • ASP.NET Core路由路由系统核心对象——Router

    ASP.NET Core应用中路由机制实现在RouterMiddleware中间件中,它目的在于通过路由解析为请求找到一个匹配处理器,同时将请求携带数据以路由参数形式解析出来供后续请求处理流程使用...[本文已经同步到《ASP.NET Core框架揭秘》之中] 目录 一、IRouter接口 二、RouteContext 三、RouteData 四、Route 五、RouteHandler 总结 一...下图基本展示了RouteAsync方法试试路由解析原理。 ?...它实际是作为路由解析输入,并在RouteContext创建时候以构造函数参数形式提供。...和DataTokens属性类型都是RouteValueDictionary,它实际就是一个字典对象而已,其Key和Value分别代表路由参数名称和值,而作为Key字符串是不区分大小写

    1.9K40

    构建可读性更高 ASP.NET Core 路由

    那么,这篇文章就来介绍下,如何调整我们 ASP.NET Core 项目的路由规则,从而使我们项目的 URL 地址可读性更高。   ...在 ASP.NET Core 中,我们可以通过在 Controller 或是 Action 方法添加 RouteAttribute 方式将用户自定义路由信息添加到项目的路由表中。...在 ASP.NET Core 2.2 版本中,微软为我们提供了参数转换器这一概念,我们可以通过实现 IOutboundParameterTransformer 这个接口,从而将 URL 中路由值或者是...首先,我们需要在路由模板指定需要替换路由参数,这里我们指定 Area、Controller、Action 是需要进行路由参数转换变量。...三、总结    在本章中,我们主要是调整了 ASP.NET Core 项目中默认路由,从而使项目的 URL 地址具有更好可读性。

    66210

    asp.net core 系列】4. 更高更强路由

    路由属性(Route Attribute) 按照英文直接翻译,Routing Attribute 意思是路由属性,但实际 Attribute在微软官方称呼是特性。...我们之前了解路由设置都是通过路由表设置,而Route Attribute则是另外一种方案。...,其中AttributeTargets.Class | AttributeTargets.Method 表示这个特性是可以设置在类或者方法。...默认情况下是0 Template 路由解析模板,也就是在《【asp.net core 系列】2 控制器与路由恩怨情仇》中介绍路由格式串 介绍了这么多,我们先来试试看,先拿出来之前文章创建MvcWeb...: Controller { } 这时候,在方法如果添加了RouteAttribute,设置路由信息如果不是以/ 开始,则会将该Action路由配置加到Controller后面。

    61820

    ASP.NET Core 中使用 AI 驱动授权策略限制站点访问

    ASP.NET Core 引入声明授权机制,该机制接受自定义策略来限制对应用程序或部分应用程序访问,具体取决于经过身份验证用户特定授权属性。...有关 ASP.NET Core 授权框架以及我 Web API 源代码详细信息,请分别参阅 bit.ly/2VN9Hmo 和 bit.ly/2IXPZCo。...ASP.NET Core 3 提供了一个管理授权策略内置框架,我在这个解决方案中利用了此框架,并通过 Web API 公开了它。...图 1:授权流 在我前一篇文章中,我介绍了如何使用 ASP.NET Core Web API 中自定义授权策略检查用户拥有的特定声明。...,通过正确组合,可以帮助构建集成 IoT、机器学习、认知服务和 ASP.NET Core API 端到端解决方案。

    2K20

    ASP.NET Core端点路由中三种让人困惑路由函数

    早先提及了端点路由app.UseEndpoints, 端点路由强调是端点和路由,其核心目的是将请求落地点与路由寻址方式解耦。...如今约定路由并不是主流,因为所谓约定路由对于用户浏览并不友好,而且暴露了后端开发者定义琐碎Controller、Action名称。...实际,不应该让用户url去匹配开发者定义Controller-Action名称(太丑陋行为),而应该让开发者去匹配用户想要使用url, 这样特性路由出现了。 2....这样描述我其实是不苟同路由在.NET里面, 已经被普世认定为“约定路由”和“特性路由”,基于这种认知,我读了好几遍官方英文描述,其实没读出个所以然。...https://github.com/dotnet/aspnetcore/blob/main/src/Mvc/Mvc.Core/src/Builder/ControllerEndpointRouteBuilderExtensions.cs

    41430

    ASP.NET Core路由:注册URL模式与HttpHandler映射关系

    ASP.NET Core路由是通过一个类型为RouterMiddleware中间件来实现。...目录 一、注册请求路径与HttpHandler之间映射 二、设置内联约束 三、为路由参数设置默认值 四、特殊路由参数 一、注册请求路径与HttpHandler之间映射 ASP.NET Core针对请求处理总是在一个通过...接下来我们就同一个简单实例来演示这样映射关系是如何通过注册RouterMiddleware中间件方式来完成。 我们演示这个ASP.NET Core应用是一个简易版天气预报站点。...接下来我们来完成所需路由注册工作,实际就是注册RouterMiddleware中间件。...ASP.NET Core针对我们常用验证规则定义了相应约束表达式,我们可以根据需要为某个路由参数指定一个或者多个约束表达式。

    1.3K10

    ASP.NET Core路由:来认识一下实现路由RouterMiddleware中间件

    虽然ASP.NET Core应用路由是通过RouterMiddleware这个中间件来完成,但是具体路由解析功能都落在指定Router对象,不过我们依然有必要以代码实现角度来介绍一下这个中间件...[本文已经同步到《ASP.NET Core框架揭秘》之中] 让RouterMiddleware中间件委托Router完整整个路由工作之后,解析出来路由参数会以一个RouteData对象形式存储在RouteContext...RouteContext上下文RouteData最终会被附加到代表当前请求上下文HttpContext,而具体承载这个RouteData就是这个名为RoutingFeature特性。...GetRouteData得到封装了路由参数RouteData对象之前,我们还可以调用另一个名为GetRouteValue发扩展方法直接获取某个路由参数值。...对于第二个重载来说,这个Router对象实际是利用RouteBuilder创建,我们在调用这个方法时候需要以Action对象形式利用这个RouteBuilder注册所需路由

    68450

    ASP.NET Core路由:注册URL模式与HttpHandler映射关系

    ASP.NET Core路由是通过一个类型为RouterMiddleware中间件来实现。...[本文已经同步到《ASP.NET Core框架揭秘》之中] 目录 一、注册请求路径与HttpHandler之间映射 二、设置内联约束 三、为路由参数设置默认值 四、特殊路由参数 一、注册请求路径与...接下来我们就同一个简单实例来演示这样映射关系是如何通过注册RouterMiddleware中间件方式来完成。 我们演示这个ASP.NET Core应用是一个简易版天气预报站点。...接下来我们来完成所需路由注册工作,实际就是注册RouterMiddleware中间件。...ASP.NET Core针对我们常用验证规则定义了相应约束表达式,我们可以根据需要为某个路由参数指定一个或者多个约束表达式。

    1.4K60

    .NET跨平台之旅:在Linux以本地机器码(native)运行ASP.NET Core站点

    在将“.NET跨平台之旅”示例站点 about.cnblogs.com 从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0 (博文链接)之后,我们有一个难以抗拒冲动 —— 体验一下...对应于我们示例站点,就是将 ASP.NET Core 应用程序编译为本地机器码。 如何编译呢?...接下来,激动人心时刻就要到了 —— 我们将以 AboutUs 这个编译为本地机器码可执行文件运行 ASP.NET Core 站点。...站点成功运行起来了! 浏览器访问站点,一切正常。你现在看到 about.cnblogs.com 就是在 Linux Ubuntu 服务器以 native 方式运行。...【更新】 后来出现502错误与.NET Core没有关系,是因为没有以后台服务方式运行命令,ssh会话一断开,进程就结束了。

    1.1K90

    ASP.NET Core中三个egg疼路由函数

    端点路由app.UseEndpoints强调是端点和路由,它核心目的是将请求落地点与路由寻址方式解耦。...、模式、默认值、约束和 dataTokens 路由。...而且实际不应该让用户url去匹配Controller和Action名称,应该让开发者去匹配用户想要使用url,这样就是特性路由。...不对约定路由做任何假设,也就是说不使用约定路由,而是依赖用户特性路由, 它一般用在WebAPI项目中。 全文梳理就会发现: 官方英文描述屡次出现route,其实特指的是约定路由。...这样描述我其实是不苟同路由在.NET里面, 已经被普世认定为“约定路由”和“特性路由”,基于这种认知,我读了好几遍官方英文描述,其实没读出个所以然

    57640

    asp.net core 系列】2 控制器与路由恩怨情仇

    前言 在上一篇文章中,我们初步介绍了asp.net core,以及如何创建一个mvc项目。从这一篇开始,我将为大家展示asp.net core 各种内容,并且尝试带领大家来挖掘其中内在逻辑。...当然,那是以后事情。这一篇将通过自定义一个控制器来为大家介绍asp.net core mvc 中控制器和路由相关知识。 ? 1....,让我们初窥asp.net core MVC是如何识别控制器。...路由 在第一节中,我们介绍了一下asp.net core mvc如何寻找控制器和Action,那这一节将介绍程序如何从请求链接中解析出控制器和Action名称,也就是路由映射。...2.1 路由配置 对于所有的asp.net core模板都包括生成在代码中路由。通常,我们要求路由在Startup.Configure方法中进行配置。

    90020

    基于ASP.NET coreMVC站点开发笔记 0x01

    基于ASP.NET coreMVC站点开发笔记 0x01 我环境 OS type:mac Software:vscode Dotnet core version:2.0/3.1 dotnet sdk...第一次尝试,使用ASP.NET Core Empty就可以,代号是web,使用命令dotnet new web就可以新建一个空项目,项目的名称就是当前目录名字mvc-test。...内置路由 这一节先当了解,暂时用处不大,学完也会忘掉 先简单看一下ASP.NET core内置路由方式(直接上startup.cs代码内容): using Microsoft.AspNetCore.Builder...2.0和.net core 3.0创建路由方式有所不同,现在分开说一下,先说一下旧方式。...好,扯了半天报错,还是回到mvc路由,上面是简单演示了一下在Startup中如何创建路由,其实mvc路由有两种定义方式: 约定路由:上面使用方式就是约定路由,需要在Startup中配置; 特性路由

    87910

    ASP.NET Core路由中间件: 终结点与URL映射

    ASP.NET Core路由是通过EndpointRoutingMiddleware和EndpointMiddleware这两个中间件协作完成,它们在ASP.NET Core平台上具有举足轻重地位...,因为ASP.NET Core MVC框架就建立在这个中间件之上。...可以将一个ASP.NET Core应用视为一组终结点组合,所谓终结点可以理解为能够通过HTTP请求形式访问远程服务。每个终结点通过RequestDelegate对象来处理路由过来请求。...为了使读者对实现在RouterMiddleware路由功能有一个大体认识,下面先演示几个简单实例。 一、路由注册 我们演示这个ASP.NET Core应用是一个简易版天气预报站点。...ASP.NET Core为常用验证规则定义了相应约束表达式,我们可以根据需要为某个路由参数指定一个或者多个约束表达式。

    92831

    以太坊区块链 Asp.Net Core安全API设计 (

    在本教程中,我们将构建一个Asp.Net Core 2项目作为API层,并构建一个简单HTML/javascript客户端作为DApp,以实际演示此身份验证过程。 ?...这个附加组件“将以太坊带到你浏览器”。实际,Metamask提供了一个web3对象,用于与你DApp中以太坊区块链进行交互,处理你私钥并在浏览器中管理交易。 2.可选。运行Geth节点。...开始 打开Visual Studio 2017,创建EthereumJwtSolution并添加两个Asp.Net Core 2 Web应用程序项目:EthereumJwtApi和EthereumJwtClient...我们将在Asp.Net Core构建客户端应用程序,只是为了在IIS Express轻松运行它。 我们需要准备EthereumJwtApi来创建和处理JWT token,以保护一些安全端点。...任务很简单,因为Asp.Net Core 2有一个内置JWT机制,可以插入我们应用程序。

    1.2K30

    ASP.NET Core在CentOS最小化部署实践

    引言 本文从Linux小白视角, 在CentOS服务器搭建一个Nginx-Powered AspNet Core Web准生产应用。...在开始之前,我们还是重温一下部署原理,正如你所常见.Net Core 部署图: ?...在Linux上部署.Net Core App最好方式是使用Kestrel 服务在端口5000支撑web应用;然后设置Nginx作为反向代理服务器,将输入请求转发给Kestrel服务器, 这个模式称为...部署模型优势: 可扩展性:反向代理服务器和Web服务器可以设置在一台或者不同机器,为伸缩部署提供可能, 可按需部署多个Web服务器,Nginx反向代理服务器本身可充当优秀负载均衡器。...UseAuthentication or similar authentication scheme middlewares. // ref.: https://www.ryadel.com/en/asp-net-core

    80910

    ASP.NET Core 2.2 : 十六.扒一扒2.2版更新路由方案

    ASP.NET Core 从2.2版本开始,采用了一个新名为Endpoint路由方案,与原来方案在使用上差别不大,但从内部运行方式上来说,差别还是很大。...一篇详细介绍了原版路由方案运行机制,本文仍然通过一幅图来了解一下新版运行机制,最后再总结一下二者异同点。...(ASP.NET Core 系列目录) 一、概述        此方案从2.2版本开始,被称作终结点路由(下文以“新版”称呼),它是默认开启,若想采用原来方案(<=2.1,下文以原版称呼),可以在AddMvc...51 } 52 }             ② 第6行,这里会获取并判断设置EnableEndpointRouting值,若为false,则采用旧版路由,详见一篇文章;该值默认为true...Controller和action,而新版是先利用了action信息与路由模板匹配,然后再用请求URL进行匹配,由于这样工作只在第一次请求时候执行,所以虽然没有做执行效率测试,但感觉应该是比之前快

    69630

    ASP.NET Core 8 在 Windows 各种部署模型性能测试

    ASP.NET Core 8 在 Windows 各种部署模型性能测试 我们知道 Asp.net Core 在 windows 服务器上部署方案有 4 种之多。...InProcess 模式 InProcess 模式将 ASP.NET Core 应用程序直接部署在 IIS 中,与 IIS 工作进程相同进程中运行。...OutProcess 模式 OutProcess 模式下,ASP.NET Core 应用程序在独立于 IIS 工作进程进程中运行。...这样差异可能受多种因素影响,包括硬件配置、操作系统版本、IIS版本等,毕竟这些产品都是10年前产物,而 ASP.NET Core8 是 2023 年全新产品。...这表明对于一般信息系统而言,ASP.NET Core 本身性能一般不会是瓶颈。瓶颈最早出现一定是在其他 IO 模块,比如数据库。

    36410
    领券