View命名

View下有多个模块的文件夹,我们根据微软的规定,每个模块下的首页都为Index.cshtml命名

获得当前页面的控制器名称

var currentControllerName = this.ViewContext.RouteData.Values["controller"].ToString();

获得当前循环数组的index

@foreach (var banner in banners)
{

var index = banners.IndexOf(banner);

}

@using

如果view里边需要频繁引入某个命名using XXX,我们选择在_ViewImports.cshtml文件中引入,相当于整个项目中都引用;

例如,在VR课堂项目中的该文件我们添加以下两行,整个项目中都可以使用:

@using vrlive.Models
@using vrlive.BLL

view直接访问BLL里边的仓库文件

view中可以直接访问BLL文件夹下的仓库文件,来访问数据库,获得所需的信息,方法如下:

  1. 在view中使用inject引入所需仓库文件@inject BannerRepository BannerRepository
  2. 获得该仓库下的信息:var banners = BannerRepository.GetBannerList();
  3. 使用变量banners,即可得到GetBannerList()函数下返回的数据;

定义数组

  • new string[] { "大一课程", "大二课程", "大三课程", "大四课程" }
  • string[][] orderType = new string[][] { new[] { "最新", "AddTime" }, new[] { "热门", "VisitCount" }, new[] { "关注量", "FavoriteCount" } };

类型转换

  • Convert.ToInt32(ViewData["pageNo"]): 将object转换为number类型
  • ViewData["currentVideoPath"] as string:将object转换为string类型
  • Convert.ToBoolean(ViewData["currentVideoIsLive"]):将object转换为bool类型

获取当前url

  • 获取当前url的参数:
    @using Microsoft.Extensions.Primitives

    StringValues videoId;
    this.ViewContext.HttpContext.Request.Query.TryGetValue("singleVideoId", out videoId);
    var singleVideoId = videoId.ToString();

  • 获取当前的url包括参数
    string url = this.ViewContext.HttpContext.Request.Path + this.ViewContext.HttpContext.Request.QueryString;

跳转至登录页面时,有多个参数无法return问题

Uri.UnescapeDataString(Request.QueryString.Value);是解决获取当前页面的url没有解析的问题。
 public IActionResult Login(string returnUrl)
{
var queryString = Uri.UnescapeDataString(Request.QueryString.Value);
int index = queryString.IndexOf(returnUrl);
string realReturnUrl = "";
if (index > 0)
{
realReturnUrl = queryString.Substring(index);
}
else
{
realReturnUrl = queryString;
}
ViewData["ReturnUrl"] = realReturnUrl;
//ViewData["ReturnUrl"] = returnUrl;
return View();
}

MVC项目总结的更多相关文章

  1. 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)

    前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...

  2. MVC项目中ExecutionTimeout不生效的解决方案

    我们做web服务器端开发时,经常会遇到一个需求场景,因为某些耗时处理造成页面的响应处理时间超长,技术角度就想能否给页面处理程序一个指定的超时时间,服务端处理程序执行时间超过这个指定的超时时间则中断处理 ...

  3. ASP.NET MVC项目实践技巧

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com 在.NET开发初期,微软提供的WEB开发模型是WebForm,试图消除Web和桌面的隔阂,建立一致的开发体验.但是 ...

  4. AngularJS2 + ASP.NET MVC项目

    环境:VS2015, NodeJS:v 6.5, npm: v3.10, AngularJs 2 通过将ASP.NET MVC项目与Angualr 2官网上的quick start整合的过程中遇到些问 ...

  5. IntelliJ IDEA上创建maven Spring MVC项目

    IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...

  6. 远程调试 ASP.NET MVC 项目

    Visual Studio 支持从一台计算机到另一台设备的远程调试.进行远程调试时,主机可以是任何支持 Visual Studio 的平台.远程设备可以是 x86.x64 或 ARM 平台. 本文将指 ...

  7. Visual Studio 2015 新建MVC项目 Package Manager Console不能使用 (HRESULT: 0x80131500)

    Visual studio 2015 突然新建不了MVC项目,报出错误: HRESULT: 0x80131500 在折腾了很长时间,最后在Github上看到这样一个贴 地址:https://githu ...

  8. mvc项目controller重命名了,用原网页url访问不了了,怎么办?

    如题.MVC项目,手机网站. 公司的官方微信上,用户关注之后,点击相应菜单就可以使用相关的功能. 最近项目重构,有些不规范的命名方式给予了重构.上线后,微信上发现一些网页访问不了了. 联系微信的维护人 ...

  9. 本地MVC项目发布到IIS服务器

    0瞎扯 朋友们有时候我们写个一个web程序只能使用卡西尼服务器调试,下面我教大家发布到IIS服务器上(包括本地ISS7.5和远程服务器 IIS) 1.VS发布 a.点击web项目->发布

  10. 基于MVC4+EasyUI的Web开发框架经验总结(15)--在MVC项目中使用RDLC报表

    RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用RDLC也是一个比较方便操作,如可以参考文章<DevExpress的XtraReport和微软RDL ...

随机推荐

  1. 收集邮票(bzoj 1426)

    Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也 ...

  2. 洛谷 [P3338] 力

    FFT \[E_i = F_i / q_i = \sum_{i<j} \frac {q_j} {(i - j)^2} - \sum _{ i > j} \frac{q _ j} {(i - ...

  3. Java数据结构-------Set

    三种常用Set:HashSet.LinkedHashSet.TreeSet set类继承关系: 概述 Set是对对应Map的一种封装,Set中的元素不可以重复. HashSet对应 HashMap.L ...

  4. 【Visual Studio】简单内存泄漏检测方法 解决 Detected memory leaks! 问题(转)

    原文转自 http://blog.csdn.net/u011430225/article/details/47840647 我的环境是: XP SP2.VS2003 最近在一个项目中, 程序退出后都出 ...

  5. 【虚拟机】主机与VMware虚拟机通信(XP版)(转)

    一.与主机共享ADSL链接/无线网络(虚拟机内可上网) 安装虚拟机后,在网络链接下除了本地链接外,会出现两个新的链接,分别是VMware Network Adapter VMnet1和VMware N ...

  6. jdk、maven、tomcat环境变量配置

    1.jdk 新建环境变量: JAVA_HOME:C:\Program Files\Java\jdk1.8.0_91 CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\li ...

  7. LVS高可用集群的配置

    网络结构: LVS DR工作原理 LVS集群从客户端上看可以将整个集群看成单个服务器对外提供服务,其IP是集群内部的VIP(虚拟IP).从内部看,转发服务器(DS)其实并没有启动应用层的服务对接口进行 ...

  8. Android项目搭建最常用的架构解密

    在完成android项目的时候第一步都是要搭建架构,下面我们来展示一下最常用的架构结构的: 源码下载地址: https://download.csdn.net/download/heishuai123 ...

  9. AC日记——营业额统计 1296 codevs

    1296 营业额统计 2002年  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master 题解  查看运行结果     题目描述 Description Tiger ...

  10. 迷宫问题(DFS,BFS)

    /******************************** 啊哈!算法 深度优先搜索算法 迷宫问题 输入: 5 4 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 ...