Asp.Net Core2.0+Vs2017+MVC 学习 三 Controller父类,返回View

时间:2020-03-26 15:24:30   收藏:0   阅读:187

之前的例子中创建了HomeController类,但是它并没有继承任何类,一般来说都会继承Controller父类,这样可以提供很多上下文信息,封装方法等,方便我们实现功能。

控制器的返回值也不需要专门去指定类型,可以通用ActionResult,我们需要返回的各种类型都继承了这个类,基本的返回值类型可以看

https://www.cnblogs.com/luyShare/p/11380165.html 中第三部分。

之前写的两个Action可以这么改一下

    public class HomeController : Controller
    {
        public ActionResult Index(int id)
        {
            return Content(id.ToString());
        }
        public ActionResult SpecialRoute(string name)
        {
            return Content(string.Format("Hello {0},i am a special route!", name));
        }
    }

 访问的结果跟之前没啥区别。

要返回视图,用封装的View就方法行了,并且我们传了一个Student给View方法,可以通过这种方式把数据传到页面上。

 public ActionResult Index()
        {
            Student student = new Student();
            student.Id = 1001;
            student.Name = "张三";
            return View(student);
        }

相应的视图Index.cshtml这样接受数据

@{
    Layout = null;
}
@model Lesson1.Model.Student
<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <h1>Index View</h1>
    <h3>@Model.Name</h3>
</body>
</html>

这里说一下@Model和@model。

@Model 就是传过来的参数,但是直接用的话有一个问题,因为它是动态类型的,所以这个时候在视图中使用它的属性时,没有智能提示,容易出错,所以用@model指令,指定@Model的类型是 Student,这样用起来方便多了。

运行结果就是

技术分享图片

 

原文:https://www.cnblogs.com/luyShare/p/12567695.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!