asp net core --- 视图View

前言:View视图,MVC架构中的展现层,本文主要介绍了视图的默认文件存放路径、_ViewStart.cshtml和_ViewImports.cshtml、部分视图和视图组件

一、Controller控制器对应的View文件寻找路径


1、Controller返回的结果要放入view中进行渲染,需要现在工程目录下创建如下的文件路径
Views/控制器名,例如HomeController访问路径是 /Views/Home

2、先看下原先Controller代码
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using myfirstweb.models;
using myfirstweb.Services;
 
// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 
namespace myfirstweb.Controllers
{
    public class HomeController : Controller
    {
 
 
        /*默认的控制器*/
        // GET: /<controller>/
        //public IActionResult Index()
        //{
        //    return View();
        //}
 
        //新建属性
        public IRepository<Student> _repository { get; }
 
        //新建构造函数,从ioc容器引入服务
        public HomeController(IRepository<Student> repository)
        {
            _repository = repository;
        }
 
        public IActionResult Mytest()
        {
            var st = new Student
            {
                Id = 10,
                Firstname = "lin",
                Lastname = "ys"
            };  // 使用model
      
            //return "setting by lys";
            //return new ObjectResult(st); //返回的是一个json
           
            return View(st);  //寻找视图,默认寻找路径为 /Views/Home/Mytest.cshtml
        }
 
        public IActionResult Myservice()
        {
            var list = _repository.GetAll();
            return View(list);     //寻找视图,默认路径是 /Views/Home/Myservice.cshtml
        }
 
    }
}
当HomeController对应的方法return view的时候,会去调用默认的视图文件,例如 Mytest方法return view,会去寻找 Views/Home/Mytest.cshtml;如果Myservice方法return view,会去寻找 Views/Home/Myservice.cshtml

( 如果Controller名字为TaskController,view为People,则寻找的视图文件路径是 /VIews/Task/People.cshtml。总之寻找的路径是 /VIews/Controller名字/view名字.cshtml)

 

3、现在我们来看看对应的view
Myservice.cshtml

@model IEnumerable<myfirstweb.models.Student>  //@model声明controller传入的数据类型,传入的是一个可枚举类型
 
<html>
<head>
    <h1>this view page by lys</h1>
</head>
<body>
    <h2>
        @foreach (var st in Model)   //Model代表从controller传入的数据
    {
        <ul>@st.Id</ul>            
        <ul>@st.Firstname</ul>    //前面如果带有html的元素,使用Model的元素之前必须先用@引用
        <ul>@st.Lastname</ul>
}
    </h2>
   
</body>
</html>

事半功倍

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一零壹0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值