Asp.net core 学习笔记 Razor Page

refer : 

https://www.twilio.com/blog/introduction-asp-net-core-razor-pages

https://www.mikesdotnetting.com/article/327/customising-routing-conventions-in-razor-pages

razor page vs MVC 

通常我们都是拿这 2 者做比较.

mvc 的做法是

route 匹配 controller action (一个 controller action 可以对多个 route template)

由 action 方法的 parameter 接受 inputModel 然后返回 view model


razor page 的做法是

route 匹配一个文件 cshtml 文件. (一个文件也可以对多个 route template, 要在 startup 弄)

这个文件有一个 .cs 对应, 你可以把它看成 controller

它不用 parameter 来接受 inputModel 而是用自身属性 + attribute [BindProperty] 来表示.

然后它本身的属性就是 viewmodel 了.

多个 action 的做法是通过 onPostAbcHandler onPostxyzHandler 来实现的.

玩玩了一下,觉得也没有特别高明之处. 尤其我的需求是要语言,需要一个文件对应多个 route template,这点并不给力.

比较厉害的地方应该只有一个,就是 folder 结构可以喜欢怎样开就怎样开吧. 这点我觉得比 mvc + ViewLocationExpanders 还要好一点点啦.

猜你喜欢

转载自www.cnblogs.com/keatkeat/p/10770046.html