ASP.NET MVC

Razor Pages - The Elevator Pitch

calendar_today 25 May 2017 08:29

ASP.NET MVC ASP.NET Core Razor Pages

In the last ASP.NET Community Standup, Jon Galloway gave my introductory Razor Pages article a shout out (thank you, Jon). During the discussion that ensued, Scott Hanselman asked for the "elevator pitch" for Razor Pages. Well, here's mine.

Working With Zip Files In ASP.NET MVC

calendar_today 10 February 2017 07:41

ASP.NET MVC

Since ASP.NET 4.5, zipping and unzipping files can be done with classes from within the .NET framework. Despite that, nearly all examples that illustrate working with zip files in ASP.NET applications feature third party open source compression libraries. This short article attempts to correct that by demonstrating the use of the System.IO.Compression classes to unpack an uploaded zip file, and to create one for download in an ASP.NET MVC application.

Free SSL Certificates On IIS With LetsEncrypt

calendar_today 02 February 2017 07:44

ASP.NET MVC ASP.NET Web Forms ASP.NET Core

If you have forms on your site that take a user's personal details, you should protect the page by running it under HTTPS. That way, any data that's posted from the form (email address, credit card number etc) is encrypted and hidden from prying eyes. It's not just e-commerce sites that should be protected. Intranets and other line of business apps that require authentication, blogs with comment forms that ask for email addresses and so on. The main barrier to this in the past has been the cost of the digital certificate (SSL Certificate) that asserts that you are who you say you are. LetsEncrypt is a free, automated, and open Certificate Authority that removes this barrier.

Loading ASP.NET Core MVC Views From A Database Or Other Location

calendar_today 21 July 2016 08:56

ASP.NET MVC ASP.NET Core

For the vast majority of ASP.NET Core MVC applications, the conventional method of locating and loading views from the file system does the job nicely. But you can also load views from other sources including a database. This is useful in scenarios where you want to give users the option to craft or modify Razor files but don't want to give them access to the file system. This article looks at the work required to create a component to obtain views from other sources, using the database as a working example.

ASP.NET Web Pages vNext or Razor Pages

calendar_today 15 July 2016 14:09

ASP.NET MVC ASP.NET Web Pages ASP.NET Core Razor Pages

Now that the RTM of ASP.NET Core has shipped, the ASP.NET team are looking at the features that were left behind including SignalR and Web Pages. The ASP.NET Core road map always had those items scheduled for inclusion in the first major release after RTM, which will be ASP.NET Core 1.1. Recently, the ASP.NET Team provided an update on GitHub on the goals driving the next version of Web Pages which provides an interesting insight into the potential features of the framework.

Implementing SQL Server Full-Text Search In An ASP.NET MVC Web Application With Entity Framework

calendar_today 13 May 2016 08:13

SQL ADO.NET ASP.NET MVC Entity Framework

The search facility on this site has been rudimentary at best. I have recently upgraded it to take advantage of the Full-Text Search feature in SQL Server. Although it is still a basic implementation, it is a vast improvement on the search system that existed before, which was based on Entity Framework dynamically generating SQL LIKE clauses. This article describes how I got SQL Server Full-Text Search up and running.

The Best Way To Import Data From Excel To SQL Server via ASP.NET

calendar_today 14 April 2016 13:42

ADO.NET ASP.NET MVC ASP.NET Web Forms ASP.NET Web Pages EPPlus

I've seen a lot of questions about the best way to import data from uploaded Excel files to a SQL Server database in an ASP.NET application. Most solutions involve the use of the JET or ACE OLEDB providers to read data from the saved Excel file, and some even show how to use Office Interop to obtain the data. However, all of these solutions rely on additional components being installed on the server, and they also require the uploaded file to be saved somewhere, even temporarily, which creates an additional maintenance task. The solution that follows makes use of a Nuget package that gets deployed with your application and can work with streams, so the uploaded file doesn't need to be saved. It is, in my submission, THE best way to import data from uploaded Excel files to SQL Server in an ASP.NET application.

Exploring Prefix: A Free ASP.NET Profiling Tool

calendar_today 30 March 2016 19:21

ASP.NET MVC ASP.NET Web Forms ASP.NET Web Pages

Prefix is a free profiler for ASP.NET applications. It's dead easy to use and it will help you find bugs in your code that you didn't even know you had. I found two in what I thought were properly working apps within an hour of downloading Prefix.

Encryption and Decryption in ASP.NET Core

calendar_today 01 March 2016 13:15

ASP.NET MVC ASP.NET Core

The ASP.NET Core framework provides a new API for protecting data, including mechanisms for encryption and decryption. This article takes a quick look at how they can be used.

View Components in ASP.NET Core MVC

calendar_today 12 February 2016 08:45

ASP.NET MVC ASP.NET 5 ASP.NET Core

The ASP.NET Core MVC framework (previously known as MVC 6) includes a new feature called View Components. Here, I take a look at them, the kind of problems they are designed to solve and how to use them.

Configuring SQL Server For Session State In ASP.NET Core 1.0 MVC

calendar_today 11 January 2016 13:14

ASP.NET MVC ASP.NET 5 ASP.NET Core

This article looks at the steps required to enable SQL Server as a backing store for Session State in an ASP.NET Core 1.0 MVC application. It builds on my previous article which introduces how to configure and use session state in ASP.NET 5.

SEO For ASP.NET Web Sites: Getting content indexed

calendar_today 16 December 2015 07:37

ASP.NET MVC ASP.NET Web Forms ASP.NET 5 SEO

This is the last in a series of articles that explore how to optimise ASP.NET web sites for search engines. Each article in the series concentrates on a specific topic and looks at the features and tools available to ASP.NET developers to help make sites search engine friendly and thereby improve rankings and click throughs from search results. This article explores how to ensure that search engines are aware of all of the content you want them to crawl and how to inform them when the location of that content is no longer valid.

SEO For ASP.NET Web Sites: URLs

calendar_today 07 December 2015 08:57

ASP.NET MVC ASP.NET Web Forms ASP.NET 5 SEO

This is the second in a series of articles that explore how to optimise ASP.NET web sites for search engines. Each article in the series concentrates on a specific topic and looks at the features and tools available to ASP.NET developers to help make sites search engine friendly and thereby improve rankings and click throughs from search results. This article will looks at some best practices concerning your site's URLs and how to make them more user friendly for search engines and humans alike.

SEO For ASP.NET Web Sites: Content

calendar_today 01 December 2015 07:53

ASP.NET MVC ASP.NET Web Forms ASP.NET 5 SEO

This is the first in a series of articles that explore how to optimise ASP.NET web sites for search engines. Each article in the series concentrates on a specific topic and looks at the features and tools available to ASP.NET developers to help make sites search engine friendly and thereby improve rankings and click-throughs from search results. This first article will look at how to present your site content to search engines in the most optimal way.

Uploading files with ASP.NET Core 1.0 MVC

calendar_today 27 October 2015 13:58

ASP.NET MVC ASP.NET 5 ASP.NET Core

Handling file uploads has changed quite a bit in ASP.NET Core. This article looks at the new objects that have been introduced to replace the old System.Web based approach from previous versions of ASP.NET. **Updated to RTM**

Uploading multiple files with ASP.NET MVC

calendar_today 19 October 2015 21:09

ASP.NET MVC

I have looked at uploading individual files and downloading multiple files in MVC, and I've had a few requests recently asking me to complete the series by showing how to upload multiple files in an ASP.NET MVC application.

Downloading multiple files in ASP.NET

calendar_today 09 October 2015 08:53

ASP.NET MVC ASP.NET Web Forms

This short article examines the baffling issue that a lot of people seem to encounter when attempting to send multiple files to the client from an ASP.NET application, and provides the solution.

ASP.NET Core: Dependency Injection and Services in MVC

calendar_today 24 September 2015 08:05

ASP.NET MVC ASP.NET 5 ASP.NET Core

This is the fourth in a series of articles that explores ASP.NET Core by reconstructing the Visual Studio 2015 Web Application template from an Empty template. This article looks at the role of services and the new ASP.NET Core dependency injection system. The series of articles has been developed using Visual Studio RTM and ASP.NET Core Beta 6. It will be kept updated along with newer releases.

ASP.NET 5: Configuration

calendar_today 04 September 2015 09:32

ASP.NET MVC ASP.NET 5

This is the third in a series of articles that explores ASP.NET 5 by reconstructing the Visual Studio 2015 Web Application template from an Empty template. This article looks at the new configuration system added to ASP.NET 5 and will also cover how services like Entity Framework and MVC itself are added to the project. The series of articles has been developed using Visual Studio RTM and ASP.NET 5 Beta 6. It will be kept updated along with newer releases.

ASP.NET 5: Managing Client-side Dependencies with NPM, Bower and Gulp

calendar_today 13 August 2015 21:05

Javascript ASP.NET MVC ASP.NET 5

This is the second in a series of articles that explores what's new in ASP.NET 5 by starting with the Visual Studio 2015 Empty site template and progressively adding files to emulate the Web Application template contents and structure. While not actually part of the ASP.NET 5 framework, this article explores the recommended tools for managing client-side dependencies: NPM, Bower and Gulp. These tools are very popular among front-end developers working with other frameworks and now that they have been integrated as first class citizens in Visual Studio 2015, their use is encouraged among .NET developers. The series of articles has been developed using Visual Studio 2015 and ASP.NET 5 Beta 6. It will be kept updated along with newer releases.

ASP.NET 5 Project Basics

calendar_today 04 August 2015 13:20

Visual Studio ASP.NET MVC ASP.NET 5

When you create a new ASP.NET web application using the Web Application template, you are presented with a raft of new folders and files in a completely new structure. This article is the first in a series that attempts to demystify the new structure and the role that some of these files play. The article series starts with the Empty template and adds the various files that you might see in the web application template progressively to illustrate their purpose. This article uses Visual Studio 2105 RTM and ASP.NET 5 Beta 6. It will be updated in line with future releases.

Reading Text-based Files In ASP.NET

calendar_today 17 July 2015 13:43

C# General ASP.NET MVC ASP.NET Web Forms

Every time I need to work with the contents of text-based files in an ASP.NET application I invariably start off thinking about using the various static methods on the System.IO.File class to extract the text and then some string manipulation or Regex to parse the content into some kind of structure. And, just in time, I remember the TextFieldParser class that hides itself away in the Microsoft.VisualBasic assembly. The purpose of this article is to introduce this component to a wider audience, but also to serve me as an aide-mémoire in terms of the basic usage, which I always have to look up.

Custom TagHelpers in ASP.NET MVC 6

calendar_today 18 May 2015 13:45

ASP.NET MVC ASP.NET 5

TagHelpers is one of the new features introduced in MVC 6, part of ASP.NET 5. They are used for generating reusable pieces of UI that require some kind of server-side processing. I took a closer look at the built-in collection of TagHelpers in my last article, Introducing TagHelpers in ASP.NET MVC 6. This article shows how to create your own custom TagHelpers. It will illustrate two ways of doing so: through parsing custom attributes; and by binding properties on the TagHelper.

Introducing TagHelpers in ASP.NET MVC 6

calendar_today 11 May 2015 13:17

ASP.NET MVC ASP.NET 5

TagHelpers is one of the new features introduced in MVC 6. The TagHelper's role is similar to the one played in previous versions of ASP.NET MVC by HtmlHelpers: they are designed to simplify the work required to author views that need to respond dynamically to the data provided to them. However, the way in which they work and their impact on view design is very different to HtmlHelpers.

Entity Framework Recipe: Storing And Managing Time

calendar_today 23 April 2015 13:19

ASP.NET MVC Entity Framework

This post explores the options available to you when your application requirements include managing and storing time using the Entity Framework. Specifically, I am thinking of durations of time, such as the time required to complete some kind of task, not the time part of a date. Relevant examples might include storing the length of a movie, or the preparation time required for a recipe.

Sessions in ASP.NET Core

calendar_today 07 April 2015 13:39

ASP.NET MVC ASP.NET 5 ASP.NET Core

ASP.NET Core is being designed so that your application is only dependent on features that it actually needs. This is achieved in large part by creating a composable framework, where the developer opts in to non-essential features - a number of which are baked in to traditional versions of ASP.NET. One of the features that this applies to is Session State. This article looks at how to obtain and use session state in ASP.NET Core applications.

ASP.NET 5 Middleware, Or Where Has My HttpModule Gone?

calendar_today 31 March 2015 13:22

ASP.NET MVC ASP.NET 5

ASP.NET 5 has been largely rewritten from the ground up, and incorporates some radical changes when compared with previous versions of ASP.NET. One of the biggest changes is in the HTTP Pipeline. This article looks at how those changes impact the design and registration of plug and play components that used to be represented by HttpModules.

How To Send Email In ASP.NET MVC

calendar_today 24 March 2015 13:21

ASP.NET MVC

This article takes a comprehensive look at the business of generating and sending email from an ASP.NET MVC application. It covers the most common use cases as well as some advanced scenarios. It also explores some of the more common errors that arise from attempting to generate and send email programmatically from an ASP.NET MVC site.

ASP.NET 5 By Numbers

calendar_today 16 March 2015 13:20

ASP.NET MVC ASP.NET Web Pages ASP.NET 5

There's a lot of confusion surrounding the numbers relating to the impending release of the next version of ASP.NET. This post takes a look at the main ones and seeks to explain their significance.

ASP.NET MVC DropDownLists - Multiple Selection and Enum Support

calendar_today 03 March 2015 13:26

ASP.NET MVC

My original article about Drop Down Lists in ASP.NET MVC has proven to be among the most popular on this site, amassing over a third of a million views since it was published 5 years ago. This article builds on the original by looking at using drop down lists for multiple selections, and the helper that was introduced in MVC 5.1 to support enumerations as a source of select options.

Migrating From Razor Web Pages To ASP.NET MVC 5 - Model Binding And Forms

calendar_today 24 February 2015 14:51

ASP.NET MVC ASP.NET Web Pages

If you have built sites with the ASP.NET Razor Web Pages framework, you might want to look at migrating them to ASP.NET MVC at some point. This tutorial is the last in a series of three that explores how you do that by taking a step by step approach to migrating the WebMatrix Bakery template site to ASP.NET MVC 5. Previous tutorials in the series have looked at the roles of the View and Controller, and the data access and view model aspects of the Model. This final part covers model binding and form posting. A download (c. 24MB) featuring the completed application is available on GitHub.

Migrating From Razor Web Pages To ASP.NET MVC 5 - Data Access And View Models

calendar_today 18 February 2015 13:16

ASP.NET MVC Entity Framework ASP.NET Web Pages

If you have built sites with the ASP.NET Razor Web Pages framework, you might want to look at migrating them to ASP.NET MVC at some point. This tutorial is the second in a series of three that explores how you do that by taking a step by step approach to migrating the WebMatrix Bakery template site to ASP.NET MVC 5. Along the way, each of the core parts of MVC are discussed by way of an introduction to the framework. The tutorial is divided into three parts. The first part looked at the roles of the View and Controller. This part looks at the M in MVC, the Model. Specifically, it features data access and view models. The final part will cover model binding and form posting. A download (c. 24MB) featuring the completed application is available on GitHub.

Migrating From Razor Web Pages To ASP.NET MVC 5 - Views and Controllers

calendar_today 16 February 2015 13:33

ASP.NET MVC ASP.NET Web Pages

If you have built sites with the ASP.NET Razor Web Pages framework, you might want to look at migrating them to ASP.NET MVC at some point. This tutorial is the first in a series of three that explores how you do that by taking a step by step approach to migrating the WebMatrix Bakery template site to ASP.NET MVC 5. Along the way, each of the core parts of MVC will be discussed by way of an introduction to the framework. The tutorial is divided into three parts. This first part looks at the V and C part of MVC - View and Controller. The M or Model is covered in the second and third parts. A download (c. 24MB) featuring the completed application is available on GitHub.

MVC 5 with EF 6 in Visual Basic - Working With Files

calendar_today 27 January 2015 13:26

VB.Net ASP.NET MVC

This tutorial explores how to upload files in an ASP.NET MVC applications and how to use Entity Framework to store them in a database. It builds on a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. This tutorial does not have a counterpart in the original tutorial series, produced by Tom Dykstra and Rick Anderson ( @RickAndMSFT ) which was written using the C# language. A C# version is available here.

ASP.NET MVC 5 with EF 6 - Working With Files

calendar_today 27 January 2015 13:19

ASP.NET MVC

This tutorial explores how to upload files in an ASP.NET MVC application and how to use Entity Framework to store them in a database. It builds on a series of 12 featuring the fictitious Contoso University that teach you how to build MVC 5 applications using Entity Framework for data access. The original tutorial series was produced in C# by Tom Dykstra and Rick Anderson ( @RickAndMSFT ) of Microsoft. This tutorial is coded in C#. As with the previous tutorials, I have produced a version that uses the Visual Basic language. It is available here.

Usage of the @ (at) sign in ASP.NET

calendar_today 22 January 2015 13:54

C# ASP.NET MVC ASP.NET Web Pages Razor

The number of places where you might use or encounter the @ sign in ASP.NET has grown over the last few years and its exact purpose in all circumstances still seems to cause confusion. Here's an overview of the most common places that it crops up, and guidance on its correct usage.

Entity Framework Recipe: Grouping By Year And Month

calendar_today 12 January 2015 20:38

ASP.NET MVC Entity Framework

This is the latest in a series of "EF Recipes" - short articles that show through practical examples how to achieve common tasks with Entity framework and ASP.NET MVC. This particular example looks at grouping data by year and month in MVC 5 with Entity Framework 6. The article is prompted by an email I got from a reader who asked how I generate the "Archives" feature in the right hand panel on each page on this site.

Entity Framework Recipe: Alphabetical Paging In ASP.NET MVC

calendar_today 29 October 2014 20:53

ASP.NET MVC Entity Framework

This article looks at using the alphabet for paging data in MVC 5 with Entity Framework 6. Where it differs from most existing articles on alphabetical paging is that this article looks at generating paging links from the data instead of the alphabet. It also features a Bootstrap-friendly helper for generating the paging links.

Entity Framework Recipe: Hierarchical Data Management

calendar_today 24 October 2014 22:20

ASP.NET MVC Entity Framework

This article explores how to use Entity Framework 6 to manage the retrieval and display of hierarchical data such as you might find in a menu system. There are a number of existing items on the Internet that cover the same topic, but most of them seem unnecessarily complex and don't include any information about displaying the data once it has been retrieved.

Scheduled Tasks In ASP.NET With Quartz.Net

calendar_today 07 August 2014 08:34

General ASP.NET MVC ASP.NET Web Forms ASP.NET Web Pages

A perennial question on the ASP.NET forums concerns how to schedule regular tasks as part of a web application. Typically, the requirement is to send emails once every 24 hours at a particular time each day, but it could actually be anything from tweeting on a schedule to performing maintenance tasks. Equally typically, half a dozen members on the forum dive in with recommendations to install Windows Services or schedule batch files with the Task Scheduler - regardless of the fact that most web site owners are not afforded such privileges as part of their shared hosting plan.

MVC 5 with EF 6 in Visual Basic - Advanced Entity Framework Scenarios

calendar_today 13 June 2014 13:42

VB.Net ASP.NET MVC Entity Framework

This tutorial is the last in a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. This final tutorial  introduces several topics that are useful to be aware of when you go beyond the basics of developing ASP.NET web applications that use Entity Framework Code First. Step-by-step instructions walk you through the code and using Visual Studio Express For Web for the following topics:

MVC 5 with EF 6 in Visual Basic - Implementing Inheritance

calendar_today 13 June 2014 13:42

VB.Net ASP.NET MVC Entity Framework

This tutorial is the eleventh in a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. In the previous tutorial you handled concurrency exceptions. This tutorial will show you how to implement inheritance in the data model.

MVC 5 with EF 6 in Visual Basic - Handling Concurrency

calendar_today 13 June 2014 13:41

VB.Net ASP.NET MVC Entity Framework

This tutorial is the tenth in a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. In earlier tutorials you learned how to update data. This tutorial shows how to handle conflicts when multiple users update the same entity at the same time. You'll change the web pages that work with the Department entity so that they handle concurrency errors.

MVC 5 with EF 6 in Visual Basic - Async and Stored Procedures with the Entity Framework

calendar_today 13 June 2014 13:40

VB.Net ASP.NET MVC Entity Framework

This tutorial is the ninth in a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. In earlier tutorials you learned how to read and update data using the synchronous programming model. In this tutorial you see how to implement the asynchronous programming model. Asynchronous code can help an application perform better because it makes better use of server resources.

MVC 5 with EF 6 in Visual Basic - Updating Related Data

calendar_today 13 June 2014 13:39

VB.Net ASP.NET MVC Entity Framework

This tutorial is the eighth in a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. In the previous tutorial you displayed related data; in this tutorial you'll update related data. For most relationships, this can be done by updating either foreign key fields or navigation properties. For many-to-many relationships, the Entity Framework doesn't expose the join table directly, so you add and remove entities to and from the appropriate navigation properties.

MVC 5 with EF 6 in Visual Basic - Reading Related Data

calendar_today 13 June 2014 13:39

VB.Net ASP.NET MVC Entity Framework

This tutorial is the seventh in a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. In the previous tutorial you completed the School data model. In this tutorial you'll read and display related data — that is, data that the Entity Framework loads into navigation properties.

MVC 5 with EF 6 in Visual Basic - Creating a More Complex Data Model

calendar_today 13 June 2014 13:38

VB.Net ASP.NET MVC Entity Framework

This tutorial is the sixth in a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. In the previous tutorials you worked with a simple data model that was composed of three entities. In this tutorial you'll add more entities and relationships, and you'll customize the data model by specifying formatting, validation, and database mapping rules. You'll see two ways to customize the data model:  by adding attributes to entity classes and by adding code to the database context class.

MVC 5 with EF 6 in Visual Basic - Code First Migrations and Deployment

calendar_today 13 June 2014 13:37

VB.Net ASP.NET MVC Entity Framework

This tutorial is the fifth in a series of 12 that teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. This tutorial covers how to enable Code First Migrations and then deploy your database to Windows Azure. The Migrations feature enables you to change the data model and deploy your changes to production by updating the database schema without having to drop and re-create the database. The section covering deployment to Azure is optional; you can continue with the remaining tutorials without having deployed the project.

MVC 5 with EF 6 in Visual Basic - Connection Resiliency and Command Interception

calendar_today 13 June 2014 13:36

VB.Net ASP.NET MVC Entity Framework

This tutorial is the fourth in a series of 12 which teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. This tutorial covers how to use two features of Entity Framework 6 that are especially valuable when you are deploying to the cloud environment: connection resiliency (automatic retries for transient errors) and command interception (catch all SQL queries sent to the database in order to log or change them).

MVC 5 with EF 6 in Visual Basic - Sorting, Filtering and Paging

calendar_today 13 June 2014 13:35

VB.Net ASP.NET MVC Entity Framework

This tutorial is the third in a series of 12 which teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. This tutorial explores how to add sorting, filtering and paging to MVC 5 Views using the Entity Framework. You will also look at implementing simple Grouping.

MVC 5 with EF 6 in Visual Basic - Implementing Basic CRUD Functionality

calendar_today 13 June 2014 13:34

VB.Net ASP.NET MVC Entity Framework

This tutorial is the second in a series of 12 which teach you how to build MVC 5 applications using Entity Framework for data access and Visual Basic. Here, we look at implementing basic CRUD (Create, Read, Update and Delete) using the scaffolding that ASP.NET MVC provides, as well as customising the resulting code.

MVC 5 with EF 6 in Visual Basic - Creating an Entity Framework Data Model

calendar_today 13 June 2014 13:33

VB.Net ASP.NET MVC Entity Framework

This tutorial is the first in a series of a Visual Basic versions of the Getting Started with EF 6 using MVC 5 tutorials published on the www.asp.net site. The original series, produced by Tom Dykstra and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Examining the Details and Delete Methods

calendar_today 09 May 2014 08:48

VB.Net ASP.NET MVC

This tutorial is the final one in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Adding Validation

calendar_today 09 May 2014 08:48

VB.Net ASP.NET MVC

This tutorial is the tenth in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Adding A New Field

calendar_today 09 May 2014 08:46

VB.Net ASP.NET MVC

This tutorial is the ninth in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Adding Search

calendar_today 09 May 2014 08:45

VB.Net ASP.NET MVC

This tutorial is the eighth in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Examining the Edit Methods and Edit View

calendar_today 09 May 2014 08:45

VB.Net ASP.NET MVC

This tutorial is the seventh in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Accessing Your Model's Data from a Controller

calendar_today 09 May 2014 08:44

VB.Net ASP.NET MVC

This tutorial is the sixth in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Creating a Connection String and Working with SQL Server LocalDB

calendar_today 09 May 2014 08:43

VB.Net ASP.NET MVC

This tutorial is the fifth in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Adding A Model

calendar_today 09 May 2014 08:43

VB.Net ASP.NET MVC

This tutorial is the fourth in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Adding A View

calendar_today 09 May 2014 08:42

VB.Net ASP.NET MVC

This tutorial is the third in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Adding A Controller

calendar_today 09 May 2014 08:41

VB.Net ASP.NET MVC

This tutorial is the second in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

Getting Started with ASP.NET MVC 5 using Visual Basic

calendar_today 09 May 2014 08:41

VB.Net ASP.NET MVC

This tutorial is the first in a series of a Visual Basic versions of the Introduction to ASP.NET MVC 5 tutorials published on the www.asp.net site. The original series, produced by Scott Guthrie (twitter @scottgu ), Scott Hanselman (twitter: @shanselman ), and Rick Anderson ( @RickAndMSFT ) was written using the C# language. My versions keep as close to the originals as possible, changing only the coding language. The narrative text is largely unchanged from the original and is used with permission from Microsoft.

The SimpleMembershipProvider, Secure Passwords And The Crypto Helper

calendar_today 27 September 2012 13:39

ASP.NET MVC ASP.NET Web Pages WebMatrix

Some people have questioned the security of the ASP.NET SimpleMembershipProvider's storage of passwords. The cause for concern seems to stem from the fact that the PasswordSalt field in the standard membership table is unused by the SimpleMembershipProvider, whereas it is used by, for example, SqlMembershipProvider. So what is the PasswordSalt field, and why should the fact that it isn't used raise an eyebrow?

Cannot use a lambda expression as an argument to a dynamically dispatched operation

calendar_today 18 September 2012 08:08

LINQ ASP.NET MVC ASP.NET Web Pages WebMatrix

Since the introduction of the Web Pages framework, ASP.NET has been making use of the dynamic type introduced in C# 4.0. Along with that comes some new error messages which at first glance don't make a lot of sense - mainly because they are unexpected. I have already looked at how dynamics do not support extension methods, and a recent question in the ASP.NET forums illustrated another way in which the dynamic type can catch you out.

View Model Design And Use In Razor Views

calendar_today 26 May 2012 23:21

ASP.NET MVC Razor

The recommended practice for transferring data to and from views in ASP.NET MVC is to use a View Model. But what is a View Model? How to you design one and how should they be used? This article attempts to provide answers to those questions.

Nested Layout Pages with Razor

calendar_today 17 December 2010 13:27

ASP.NET MVC ASP.NET Web Pages WebMatrix Razor

Razor Layout pages are the equivalent to MasterPages in ASP.NET Web Forms and the Web Forms View Engine within ASP.NET MVC. Just as it is possible to nest MasterPages, it is also possible to nest Razor Layout pages. This article explores the process required to achieve nesting of Layout pages using the Razor View Engine in MVC 3, or WebMatrix Web Pages sites.

Named Anchors And MVC Urls

calendar_today 14 June 2010 10:15

ASP.NET MVC

Named Anchors are used to generate links to specific locations within a web document. Unless you are careful, you may end up having a little trouble getting these to work using the MVC LinkExtension helpers.

Google Sitemap Generation From A Custom SiteMapResult

calendar_today 31 May 2010 20:42

ASP.NET MVC

My previous article showed how to use a custom ActionResult and the classes within WCF to generate an RSS feed. There are no similar classes to help build a valid Google Site Map for an ASP.NET MVC application. So here's how your can build your own.

Rss Feed Generation From a Custom RssResult

calendar_today 31 May 2010 09:14

ASP.NET MVC

When I looked at producing RSS Feeds in ASP.NET MVC before, I used the ContentResult method to return XML. Best Practice suggests that you should create a new ActionResult if required. So this article looks at creating an RssResult, and a different way to generate the feed itself.

Validating the Contact Manager with MVC 2.0 And VS 2010

calendar_today 29 March 2010 22:17

ASP.NET MVC

The MVC 2.0 Framework was finally RTM'd on March 11th 2010, so I took the opportunity to update my Contact Manager application with some of its new features. While the focus of this article is validating the Model using DataAnnotations, I also touch on one or two other new features in the latest release.

ASP.NET MVC v. Web Forms Debate - My View

calendar_today 22 February 2010 21:53

General ASP.NET 3.5 ASP.NET MVC

It seems that the whole world (and Margate) is having its say on which is better - MVC or Web Forms. Scott Guthrie posted his views on technical debates in general, and then contributed his thoughts on MVC v. Web Forms. Ian Cooper has an interesting contribution to make to the debate too. Rob Conery (formerly of Microsoft) posted probably the most linked to opinion on the matter. (There - I've just added another link...) A lot of other blog posts around scream that MVC is better because its better. One even tries to posit the notion that some kind of score card approach can help you decide.

ASP.NET MVC is not all about Linq to SQL

calendar_today 21 February 2010 08:21

ADO.NET ASP.NET MVC

Pretty much every sample application that illustrates ASP.NET MVC uses Linq To SQL or the Entity Framework as the data access method. I've seen a number of questions posted to the forums at www.asp.net asking if there are any alternatives, and indeed there are. This article will look at using plain ADO.NET within a data access layer to provide dynamic content to a typical small CRUD application.

Get The Drop On ASP.NET MVC DropDownLists

calendar_today 07 January 2010 21:27

ASP.NET MVC Razor

DropDownLists in ASP.NET MVC seem to cause a fair amount of confusion to developers fresh from Web Forms World. This article looks to provide you with all (well, most) of what you need to know to get your DropDownLists working in ASP.NET MVC.

ASP.NET MVC - Prevent Image Leeching with a Custom RouteHandler

calendar_today 25 December 2009 22:31

ASP.NET MVC

Have you ever noticed an unusually high number of requests in your web server log files for image files? It may well be that someone is linking to your images from their own site, and basically stealing your bandwidth. Here's how to implement a custom RouteHandler within an ASP.NET MVC application to prevent people leeching your images.

ASP.NET MVC Uploading and Downloading Files

calendar_today 21 December 2009 22:29

ASP.NET MVC

If you come to ASP.NET MVC from a purely ASP.NET Web Forms background, one of the first things you are likely to notice is that all those nice easy Server Controls have disappeared. One of those is the FileUpload, and its absence seems to cause a few problems. This article looks at how to upload files to the server in an MVC world, and how to get them back from the server to the user again.

Book Review - Professional Enterprise .NET

calendar_today 28 October 2009 15:49

ASP.NET 3.5 ASP.NET MVC Book Review

I reviewed an ASP.NET Architecture and Design book recently. It was OK. I felt it was a bit thin, and didn't cover topics beyond beginner level. Then I got sent a review copy of another book: Professional Enterprise .NET. Having read it, this is the book that the previous book should want to be when it grows up.

Displaying Google Analytics Data in ASP.NET

calendar_today 26 October 2009 22:30

ASP.NET 3.5 ASP.NET MVC

If you have a Google Analytics account, you can use the Data Export API provided by Google to access your visitor stats, and retrieve them for use elsewhere. Here's how to display some stats in ASP.NET.

Dependency Injection and Inversion of Control with ASP.NET MVC

calendar_today 10 October 2009 22:46

LINQ ASP.NET MVC Entity Framework

As you delve more into ASP.NET MVC you start to come across a whole new way of doing things that Web Forms development didn't really expose you to. Inversion of Control (IoC) and Dependency Injection (DI) are two phrases that crop up a lot in the MVC space. So what are they all about? And should you care?

Microsoft Chart Controls to PDF with iTextSharp and ASP.NET MVC

calendar_today 15 September 2009 22:16

iTextSharp ASP.NET MVC

If you are developing a business application using ASP.NET MVC, and need to produce some kind of dashboard-style reporting, the Chart Controls from Microsoft are a good place to start. Having a summary in some form of document, say a PDF is also a common requirement. This article introduces you to satisfying both needs.

jQuery Star Rating with ASP.NET MVC

calendar_today 08 September 2009 13:40

AJAX Javascript jQuery ASP.NET MVC

There are a number of jQuery star rating plugins to choose from. All have their pros and cons. For this site, I decided to implement the one from FyneWorks because it allows for split stars. Here's how I did it.

ASP.NET MVC - Battle of the Books

calendar_today 27 July 2009 13:25

General ASP.NET MVC Book Review

There's always a splurge of new books that come out around the RTM of any new ASP.NET related technology. Authors all over the place are burning the midnight oil, cursing the changes from one CTP to the next, through to Betas and hoping against hope that the Release Candidates and final RTMs aren't stuffed with "breaking changes" which inevitably mean total rewrites of whole sections or chapters in their draft. And then the race between the publishers is on, as each tries to get their offer to market before the others. Here, I look at three of the titles that were published around the time that ASP.NET MVC was launched, and give my judgement on how they fare in covering not only the core Framework but the key features that ASP.NET MVC is designed to offer:

RSS Feeds and Google Sitemaps for ASP.NET MVC with LINQ To XML

calendar_today 10 July 2009 22:43

LINQ ASP.NET MVC

For the majority of personal web sites, two uses of XML are commonplace: creating an RSS feed and a Google Sitemap. Here, I look at how to create both of those using LINQ to XML for an ASP.NET MVC web site.

ASP.NET MVC, Entity Framework, Modifying One-to-Many and Many-to-Many Relationships

calendar_today 28 June 2009 21:37

ASP.NET MVC Entity Framework

Building on my previous article, which looked at adding data with one-to-many and many-to-many relationships via the Entity Framework, here's a look at how to modify that data within an ASP.NET MVC application.

ASP.NET MVC, Entity Framework, One-to-Many and Many-to-Many INSERTS

calendar_today 17 June 2009 21:55

ASP.NET MVC Entity Framework

Taking on two new technologies - ASP.NET MVC and the Entity Framework - at the same time was bound to provide some "interesting" moments. Getting data out via EF has so far been pretty straightforward. But when it got to building the back end of my site, I had some fun trying to manage INSERTS with One-To-Many and Many-To-Many relationships.

Handling Legacy URLs with ASP.NET MVC

calendar_today 08 June 2009 07:37

ASP.NET MVC

According to Google's Webmaster tools, there are about 15,000 incoming links to my site. 13,000 of those reference a .ASPX file on disk. When I convert to MVC, with new Search Engine Friendly urls, all those links will break unless I do something about it. Presenting users with a 404 - file not found is not an option. I need to show them the content they were expecting, and update Search Engines with the news that things have changed. Here's how I will be managing those Legacy URLs.

Creating a Tag Cloud using ASP.NET MVC and the Entity Framework

calendar_today 01 June 2009 07:26

ASP.NET MVC Entity Framework

A Tag Cloud is a visual depiction of Tags or categories on a web site. CSS is used to set the variable font size of each Tag to illustrate its relative frequency or popularity within the site. As part of the migration of my site to ASP.NET MVC, I am introducing one to replace the Categories navigation that appears on the left hand side of each page, which contains a count of items within each category.

A Degradable jQuery AJAX Email Form for ASP.NET MVC

calendar_today 29 May 2009 15:58

AJAX ASP.NET 3.5 jQuery ASP.NET MVC

Pretty much every web site on the Internet features a form for users to provide feedback via email to site owners. This site is no different. Migrating to ASP.NET MVC requires a slightly different approach to that used by Web Forms development, so this article looks at one way to implement a web site contact form using the MVC framework and jQuery that degrades nicely. AJAX functionality is said to be "degradable" if a way is provided for the process to work, even though users don't have Javascript available to them.

ASP.NET MVC Partial Views and Strongly Typed Custom ViewModels

calendar_today 11 May 2009 07:06

ASP.NET MVC Entity Framework

I'm in the process of rewriting mikesdotnetting.com using the ASP.NET MVC framework. It's an interesting experience, in that this is my first exposure to MVC. The first stumbling block I encountered was how to pass data in a satisfactory way to Partial Views which only represent part of the data that is to be displayed in the View. Since I struggled to find clear guidance on this, I thought I would share a way to do it.