zoukankan      html  css  js  c++  java
  • MVC项目总结

    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; 

  • 相关阅读:
    求Mac 的adt插件!
    前端ajax异步传值以及后端接收参数的几种方式
    在eclipse中使用git clone 别人共享在Github的代码和上传到自己的仓库!
    Tomcat 配置虚拟路径保存、访问图片
    sssp-springmvc+spring+spring-data-jpa问题总结
    redis整合异常总结
    sssp-springmvc+spring+spring-data-jpa增删改查
    ssm+PageHelper实现分页查询
    微信小程序异常解析
    CentOS 7.4中firewall防火墙详解和配置以及切换为iptables防火墙
  • 原文地址:https://www.cnblogs.com/maoyazhi/p/6104428.html
Copyright © 2011-2022 走看看