Custom Template Controls: .ascx or vbhtml - asp.net-mvc-3

Does anyone have any recommendations about using a .ascx file (user control) versus a .vbhtml/.cshtml (razor) for custom templates? It would appear from my limited interaction that they are completely interchangeable.
Is it purely a matter of comfort/experience or are there pros and cons to each method?
Thanks

Yes, they are interchangeable. But if your main application uses Razor I would recommend you using Razor for those templates. Unless you have some legacy code from some older ASP.NET MVC 2 application that you want to reuse. For all new views I recommend Razor.

Related

Is Areas for ASP.NET Core the same as Portable Areas?

I've seen references dating back 3+ years for Portable Areas in ASP.NET MVC, but then I ran across "Areas" for ASP.NET Core.
Are these the same thing?
Side question:
Is this something that is better solved with DI if you want to create an application with modularity or plugins?
Using the ASP.NET Core Application parts feature you can easily put your area's controllers/view components inside another project and then use in the main web application. It is a bit more difficult with the views and static content. I prefer to add them as resources in the same projects as area controllers are located and then implement the IFileProvider interface and assign my implementation to the IHostingEnvironment.WebRootFileProvider property.
You can use ExtCore framework to make this all automatically.

Should I use App_Themes or Content/themes in MVC4?

Up until now I had been using MVC3 for my apps but with the new update of Visual Studio 2012 I got MVC4. I migrated a few of my apps and now they are broken.
I noticed that the new project template for an Internet application creates a ~/Content/themes/base folder.
And yet, up until now I had been accustomed to use the App_Themes folder for that. In fact, with VS.2013 you can use "Add ASP.NET FOlder | Themes".
So I am now confused with MVC4, has It deprecated the App_Themes folder (which seems more appropriate to me than ~/Content) ? or is there a significant difference?
App_Theme come from ASP.NET Platform and one goal of mvc is get a clean html code
One of the things that ASP.NET MVC is missing is the ability to
easily implement Themes. The older, more mature standard ASP.NET
framework includes theme support via the App_Themes folder; however
limited it can be, it’s still more than ASP.NET MVC currently has.
Well, at least until I wrote this little custom ViewEngine and
ControllerBase class to help out and allow us to very easily implement
Themes within our ASP.NET MVC applications
take a look this helpful article this link

ASP.NET MVC3 CSS framework

I'm wondering, which css framework is best suitable for ASP.NET MVC 3?
I've tried yaml and it has several drawbacks in my opinion, at least using with ASP.NET MVC 3:
uses inputs for buttons by default (so, not compatible with jquery ui, because jquery ui uses buttons in dialogs for example).
you need to adjust css for ASP.NET MVC 3 validation.
I don't like how they describe forms (well that is may be only my
subjective opinion regarding this, anyway you need to use custom
editors if you wish stick to yaml css style).
some css class names are not very intuitive.
Nothing, that would be show stoppers, but maybe there's better alternative - something, that is adapted for ASP.NET MVC specifics, or may be ASP.NET MVC project stub, adapted to yaml css framework.
Update: OOCSS looking good, is lightweight and good structured, worth checking out.
Update 2: TwitterBootstrap is getting popular too, you can get it for asp.net mvc here http://nuget.org/packages/Twitter.Bootstrap
I have used both Blueprint (http://www.blueprintcss.org/) and 960Grid (http://960.gs/) quite successfully with MVC.
But more recently I am leaning towards "BlueLess" (https://github.com/michaek/blueless) - a ".LESS" (http://lesscss.org/) version of Blueprint together with the simply excellent "Chirpy" (http://chirpy.codeplex.com/) VS2010 add-in which automagically converts and minimises CSS, Javascript, LESS, CoffeeScript etc. quite transparently. A simply wonderful tool.
Both Blueprint and 960Grid are for layout and typography ... for form design/styling I would look at the standard JQuery UI framework (http://jqueryui.com/) .. or perhaps the Telerik MVC Extensions (http://www.telerik.com/products/aspnet-mvc.aspx)
Hope this helps.

Sitecore and MVC3

I am starting a project with Sitecore, I have looked for different possibilities. I have some experience with MVC but I don't understand why you want to combine this with Sitecore (6.4).
What are the benefits? Are there any examples of the implementation of (the code of) this (not the configuration on: http://sdn.sitecore.net/upload/sitecore6/64/integrating%20an%20asp.net%20mvc%20web%20application%20in%20sitecore%20cms-usletter.pdf)?
Or why shouldn't I use MVC with Sitecore?
So when should I use Sitecore 6.4 with MVC3 and when not? And are there any (code)examples?
Thanks in advance!
I've successfully implemented my own MVP implementation using Sitecore. MVP is a bit more forgiving than MVC, and can easily be integrated into web forms based applications. I used T4 templates to generate Models directly from Sitecore templates using the built-in webservices which worked really well.
Sitecore doesn't support MVC yet (in the recommended release), and trying to make it work is probably not worth the effort. I believe they are working on a version that supports MVC properly, which may be the link you provided. However it's probably also very new and there is a lot of functionality in the old version that relies on web forms. I'd like to see it working under MVC in an official capacity for a few more iterations.
Implementing patterns such as MVC and MVP are all about separating concerns and making your presentation layer unit testable. It also encourages more elegant design.
Just reading the doc it looks like this is a guide for running Sitecore in parallel with MVC. I can't see anything about new rendering mechanisms for Sitecore, which would make templating difficult in anything other than web forms. It would however allow you to use the Sitecore API to build your own templates via MVC Views, but you would loose the inline editing functionality that you get out-of-the-box with web forms.
Using mvp is probably the simplest way to go. I wrote a blog post about it here.
However, we have used MVC3 with Razor before and it worked very well. The only issue is you lose the ability to use Page edit mode as you have to do some hacking of sitecore to get it to work. I'm contemplating writing a blog post about it if people are interested.
Just to follow up.. MVC is now supported in 6.6, which will be released on November 5th 2012. We just saw a demo from John West at the Sitecore Symposium and it looks like a great framework. One of the best things about it is that you can use MVC side-by-side with Web Forms. You don't have to make an all-in bet for MVC, you can just slowly migrate or build new components in MVC, while still running Web Forms throughout your site.

Right choice for this time

In few days i am going to start an Ajax based Real State web application in asp.net mvc 3.0
I want to ask, is Razor View Engine ready to use for development and what are the major difference between Razor View Engine and ASPX View Engine i need to remember while developing in Razor View Engine?
Which client side data template plug-in for jquery is more stable an essay?
hmm Asp.net MVC3 is still in Release Candidate:
http://www.asp.net/mvc/mvc3
These links might help you out with the Razor View Engine:
http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx
http://weblogs.asp.net/scottgu/archive/2010/10/22/asp-net-mvc-3-layouts.aspx
Here a link about the templating engine:
http://weblogs.asp.net/scottgu/archive/2010/05/07/jquery-templates-and-data-linking-and-microsoft-contributing-to-jquery.aspx
We're using MVC3 on a large commercial project we plan to release in January. So far, there were almost no issues with MVC3 or with Razor, only a few minor hickups like the syntax highlighter not working correctly at all times.
The unobtrusive client-side validation is a blast and gracefully falls back to server-side validation, which is very neat. However, there might be issues with globalization. We're currently working on that, and I don't know yet how it will turn out.
Razor is a much easier to code and read language, far better than ASPX. Also, the Razor compiler is open source and gives you a better understanding of what is going on than the traditional black-box ASP renderer. Otherwise, there are only minor differences between ASPX and Razor, for example there is no distinction between partial views and views in Razor - you can render views either way.

Resources