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)