I shocked when I found that I couldn’t access Umbraco control panel of one of the most important websites that my client has. It threw “Object reference not set to an instance of an object” error once I successfully logged in to the control panel.
After making backup and small research I found a way to recover from that annoying thing. The workaround was recycling the Application Pool that the website use.
To get a media (i.e.: image) in code-behind you can do it like this.
var currentPage = umbraco.presentation.nodeFactory.Node.GetCurrent(); var media = new umbraco.cms.businesslogic.media.Media( Convert.ToInt32(currentPage.GetProperty("[property]").Value) ); string imageUrl = media.getProperty("umbracoFile").Value.ToString();
Changing default browser used in debugging ASP.NET MVC 2 is a bit tricky in Visual Studio 2010. To use ScottGu’s steps, you will need to add new ASPX page first. But unfortunately if you delete the page then close the application, anytime you rerun the application then the change you did will lost (it backs to use the default browser set in OS).
In my case I have Firefox set as my default browser but I need to use Internet Explorer as default browser for debugging. The trick I do is by doing these:
Open the project properties
Go to Web tab
Set the Start Action to use Start external program and then pass the Internet Explorer executable path and the url as Command line arguments.
Set the Servers’ specific port to the same port set in the url in step 3.
I must admit that the ASP.NET MVC team is so consistent in developing ASP.NET MVC framework to be better and better. Just few months after the release of ASP.NET MVC 2, now the Preview 1 of ASP.NET MVC 3 has been released.
Yes, Preview 1 maybe not interesting for some of you but it’s a good time to evaluate the framework and provides feedbacks. Tell them what you like and don’t like, this is a good time for it.
Multiple View Engine Support – Add View dialog now supports choosing a view engine and adding custom view engines.
Validation Improvements – Support for more validation attributes such as the new ones introduced in ASP.NET 4.
Dependency Injection at all levels – Opened up seams for applying the dependency injection when instantiating components of the framework. This allows developers to hook into the creation of models during model binding, action filters, etc.
Dynamic View and ViewModel Properties – These dynamic properties provide syntactic sugar to setting and accessing ViewData values making controller and view
Global Action Filters – allows registering action filters that apply to all ASP.NET MVC requests. This removes the need to apply a filter attribute on every controller.
Support for Permanent Redirects – Added new overloads for permanent redirects which issue a 301 HTTP status code instead of a 302.
The following Scott Guthrie’s blog post will guide you to get an overview of those features: