MVC 设置项目默认起始页和多级目录的路由配置
我们新建一个MVC的项目
默认的路由是这样的,但是由于一些需求,我们需要对Controllers按照一些规则分类。
比如说我们在Controllers下面建了一个School的文件夹,然后建了一个Student的控制器。
然后我们运行项目,当然默认访问的还是Home/Index这个页面,这时我们可以通过在浏览器中输入School/Student/Index来访问Student下面的页面吗???、
我们来试试!!!
很显然不行,我们再来看看我们View下面的结构
这里的Student文件夹是直接在放在Views下面的,School文件夹和Student下面的Index页面是我们新建的,MVC默认也只会在Views下面添加一个Student文件。
但是为什么我输入School/Student/Index访问不到呢,这是由于MVC在查找页面的时候只会搜索
- Views/{1}/{0}.cshtml
- Views/Shared/{0}.cshtml
这种地址,所以我们这里直接输入Student/Index就能够访问到我们的页面了。
与此同时,我们在路由配置中修改一下Cotroller 和action的名称 就能够改变我们的默认起始页。
但是很显然,这不是我们想要的那种结果,因为我们对Controller按照文件夹的区别存放了,我们也希望把视图通过我们的定的规则来存放。
比如是上面这样。但是这样一放,我们还能通过Student/Index来访问到我们的页面吗?
答案是显而易见的,改变了视图结构后我们输入Student/Index是访问不到我们的页面的。
这时要想访问到Student/index页面,就需要配置一些东西了。
这里就存在了两个问题:
1.视图结构改变后如何能访问到页面。
2.如何将Student/Index设置默认起始页。
首先解决问题1.
1.
新建一个MyViewEngine类,继承RazorViewEngine
2.
加入到global.asax文件中,
3.
新加一个路由。
这样就就解决问题,然后通过School/Stundent/Index就可以访问到页面了。
第二个问题,右键项目设置为特定页就可以了,目前只找到这种解决方式,后面如果有新的方法会补充上来。
MVC 设置项目默认起始页和多级目录的路由配置的更多相关文章
- Eclipse设置项目默认编码和换行符类型
为了实现不同操作系统间的Eclipse项目移植的一致性. 一.建议设置如下: 1. 默认的项目编码统一用UTF-8 2. 默认的换行符用UNIX类型 二.具体的配置点见下图:
- ASP.NET MVC 设置区域默认定向
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "m_defau ...
- Eclipse取消设置项目默认空间
分享一个小经验: 如果,在启动Eclipse时选中了Use this as the default and do not ask again 下次要启动时不会再次显示修改工作空间的选择, ...
- MVC + EFCore 项目实战 - 数仓管理系统2- 搭建基本框架配置EFCore
本次课程就正式进入开发部分. 首先我们先搭建项目框架,还是和之前渐进式风格保持一致,除必备组件外,尽量使用原生功能以方便大家理解. 开发工具:vs 2019 或以上 数据库:SQL SERVER 20 ...
- win7设置docker默认服务端地址
目录 win7设置docker默认服务端地址 1.开启docker远程访问 2.本地调整 2.1 docker.exe重命名 2.2 添加docker.bat 2.3 添加快速切换功能 3.使用验证 ...
- weblogic基本目录介绍,位数查看,启动与发布项目,修改JVM参数,设置项目为默认项目
这里的基本目录%base%表示安装目录,如我的目录为:E:/weblogic就是%base% 1.weblogic目录介绍 weblogic主要的目录介绍: 1.日志目录: 每个domain(域)都有 ...
- MVC 多级目录(控制器) 路由重写 及 多级Views目录 的寻找视图的规则
转自:[原]Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来 ...
- 二、处理MVC多级目录问题——以ABP为基础架构的一个中等规模的OA开发日志
就个人感觉而言.ASP.NET MVC是一种非常反人类的设计.(我没有接触过Java的MVC,不知道两者是否一样.如果一样,那么搞Java的同学也挺可怜.)尤其是MVC的路由机制,灰常灰常反动.路由所 ...
- asp.net mvc多级目录结构和多级area实现技巧
今天在工作要实现这个多级area.其原因是这个项目需要多级的功能,大的类别里有小的类别,小的类别里有具体的功能项,每一个功能项还有若干动作Action,所以在菜单和mvc工程的结构上都需要有体现多级的 ...
随机推荐
- Android Studio使用Mob来获取手机验证码的源码
本文来自:CSDN 感谢作者:qq_35812301(其实就是我的号!) 查看原文:http://blog.csdn.net/qq_35812301/article/details/79150775 ...
- 12.模板别名以及auto定义返回值
#include <iostream> #include <array> using namespace std; //定义返回值类型 template<class T1 ...
- Android 图片缓存处理
异步下载 / 本地缓存 异步下载 大家都知道,在Android应用中UI线程5秒没响应的话就会抛出无响应异常,对于远程获取大的资源来说,这种异常还是很容易就会抛出来的,那么怎么避免这种问题的产生.在a ...
- PHP中 “ . ” 和 “ ,”的区别
在PHP中,“ . ”可以串接两个变量.而“ , ”却没什么用处.
- 在同一个局域网下实时访问vue项目,移动端也可以。
之前,UI看做好的页面效果,一直都是把项目打包好后放上服务器跑. 现在,UI能实时看到我的项目的页面效果情况了. 那么问题来了!!! 要怎样做到呢??? 接下来照做就行了!!! 请您先打开项目下的pa ...
- loadrunner监控apache服务
一.apache配置步骤(假设apache服务已安装) 1.使用find / -name httpd.conf命令查找httpd.conf文件 2.使用cd opt/lampp/apache2/con ...
- C#委托与事件(生动故事)
[委托] 1,工人Peter按工作步骤向老板报告的程序. 程序: using System; using System.Collections.Generic; using System.Linq; ...
- ES6的学习之路(基础知识总结)
1. 变量声明 1).let 1)使用let定义的变量不会进行"变量提升" console.log(a);//Uncaught ReferenceError: a is not d ...
- python3 求斐波那契数列(Fibonacci sequence)
输出斐波那契数列的前多少个数. 利用函数 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan # ----斐波那契数列( ...
- Oracle 排序问题(null带来的)
null 导致排序有问题, 对于数字的,一定要用nvl来解决.