Tag Archives: asp.net

Visual Studio 2012 Templates

UPDATE: I added a GitHub repository and included my updates to the MVC4 Empty, Basic and MvcApplication templates. Feel free to contribute. See in the Download chapter.

So you use Visual Studio 2012, NuGet, you create a new project from the standard MVC 4 template and then you update all packages you need, or click on “Update All” and then “downgrade” one (e.g. jQuery 2.x to jQuery 1.x)?

If you need to update everything and downgrade just one package (in example jQuery), you can use the Package Manager Console and issue these 2 commands (first force the uninstallation of jQuery even if it’s needed by other libraries, then install the specific version you need):

Uninstall-Package jQuery -Force
Install-Package jQuery -Version 1.10.2

If you want your templates to be always updated, you may want to edit them directly (as usual, do a backup first), so that when you create a new project you won’t need to update all the NuGet packages. You may be interested in these 2 locations:

  • Templates folder: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033
  • Packages folder: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages

In the Templates folder you can edit the *.vstemplate file and put the package versions you want. For the javascript files, remember also to update the Scripts\_references.js file. For the references, remember also to update the *.csproj (project) file. Some Libraries require you to update also the web.config file.

In the Packages folder you need to copy the nupkg file and the folder containing the package (take the packages from a new visual studio solution you create).

This seems complicated but once you updated your favorite template, it’ll be a piece of cake to maintain it.

Download

To update your existing Visual Studio 2012 templates, just overwrite them with the files you find in my GitHub repository (do a backup of the originals, just in case).

If your favorite template is not here, sorry about that. I update only the templates I use the most for my projects. Feel free to share your updates (at best commit your changes directly in my github repository).

Other interesting resources for Visual Studio 2012

Chrome iPhone Mobile App and ASP.NET LinkButton PostBack Problem

LinkButton PostBack not working on Chrome Mobile?

Little note for Coinstar money transfer me and other mobile developers who may find this post. Here the fix.

ASPX file:

<asp:LinkButton ID="SendButton" runat="server" ClientIDMode="Static">Send</asp:LinkButton>

Code Behind file (.aspx.cs):

protected override void OnPreInit(EventArgs e)
{
	if (Request.UserAgent != null && (Request.UserAgent.IndexOf("AppleWebKit") > 0))  // added for compatibility issues with chrome 
	{
		this.ClientTarget = "uplevel";
	}

	base.OnPreInit(e);
}

protected void Page_Load(object sender, EventArgs e)
{
	SendButton.Click += new EventHandler(SendButton_Click);
}

Solution for jquery unobtrusive ajax live error

So you get an error from jquery.unobtrusive-ajax.min.js:

TypeError: $(…).live is not a function?

If you, like me, just upgraded in Visual Studio all NuGet packages included in your MVC project, you may probably encounter this error because the live() function is not available anymore in jquery 1.9, but still being called by .

The problem is that jquery.unobtrusive-ajax.min.js (jQuery Unobtrusive Ajax 2.0.20710.0 at the moment of writing) is calling the live() function in several places.

Here the solution: replace all occurrences of “live(” with “on(“, save and that’s it (source: stackoverflow)

UPDATE

jQuery Unobtrusive Ajax was upgraded and you can use the newest version with the latest jquery 1.x version.