开发者

Does ASP.NET MVC require you to use master pages?

开发者 https://www.devze.com 2023-01-04 00:38 出处:网络
My group is working on a new web application and is considerin开发者_如何学运维g using MVC. However, there are members who would rather include pages than use master pages. Is this possible to do in A

My group is working on a new web application and is considerin开发者_如何学运维g using MVC. However, there are members who would rather include pages than use master pages. Is this possible to do in ASP.NET MVC? In the small amount of time that I've poked around with MVC I have not yet been able to figure out how one might accomplish that.


Why the preference?

Having used both in the past, Master Pages are much easier to use. You just have to get over the (very small) learning curve.

ASP.NET MVC doesn't force you to do either one though...

If you like the Include method, then you would probably feel most comfortable using Partial Views to provide the same functionality. You would just add the Partial Views to each page instead of including another page.


No. It does not force you in any way.


You should really avoid server-side includes with anything newer than classic ASP. They're more difficult to debug, IIS has a hard time finding correct line numbers when there's a problem, etc. Also, I haven't looked at the order in which SSIs are processed in the request pipeline - they may not work at all with ASP.NET.

If you're moving into MVC, use RenderPartial() or RenderAction() instead. These perform essentially the same function as a server-side include, but are more inline with the spirit of the framework and provide some additional benefits, like passing models without having to declare a global variable (which should also be avoided, and I'm not sure if it is even possible under .NET scope rules).

And, no, master pages are not required, but you really should use them. Using includes to build your page layout works, but only if you don't and won't need to radically change the layout of your site at any point in the future. I'm in that boat now with a 350k line classic ASP app which used very nicely structured code and #includes to create the page layout. That was the best solution available at the time, but it's causing me a lot of headaches now (10+ years later).

With a master page you can move your ContentPlaceHolder blocks anywhere you want, whereas with #includes the final page really determines the format by the order in which the includes are placed. This also makes it pretty straightforward to create a mobile version of your site - you can create a mobile-specific master page and use the same content views.


Its a matter of choice,but for consistent look and feel across the web application, master pages give you just that. You have to take the team through the learning curve of good master page design, not only would it be useful for the current project at hand but also future projects. Good luck!


I would rather opt to go for Master pages due to the ease of use and built in support in MVC for this.

If you want to know more about it check out this tutorial: Creating Page Layouts with View Master Pages.

Grz, Kris.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号