What is ASP.NET MVC? 80 minute technical video for developers, building NerdDinner

Please install Silverlight or click download to watch video locally.

An in-depth tutorial on building an application with ASP.NET MVC. In this video we build the basics of Nerddinner.com and cover issues such as Unit Testing, Javascript (using jQuery), and how to use the new tooling features for Visual Studio 2008 which are installed with the ASP.NET MVC project templates.

Presented by Rob Conery

Duration: 1 hour(s), 20 minutes, 0 seconds

Date: 21 August 2009

Watch    Video   |   Download    Video

Video downloads: WMV  |  Zune  |  iPod  |  PSP  |  MPEG-4  |  3GP

Audio downloads: AAC  |  WMA  |  MPEG-4  |  MPEG-3  |  MPEG-2

Comments : 26

Leave a Comment

thinkrajesh : On August 27, 2009 6:27 PM said:

The video is cool and to the point. Thanks.

tonybolding : On August 28, 2009 2:08 PM said:

Rob is really good at explaining how this example works. I tried it using one table and the modelstate.isvalid kept failing when adding a record on returning a null ID. Seems that if I add a second table and create a relationship it works fine.

erkasoft : On August 28, 2009 7:00 PM said:

very good video with examples. thank you rob.

W3bdev : On August 28, 2009 8:51 PM said:

Incredible fast paced move through MVC! Thanks soo much Rob. I work with forms too much and need to really move over to this schema, great place to learn it. Hope you can make some more! Thanks for the JQuery and JSON as well!

Supremestar : On August 28, 2009 10:00 PM said:

Rob, you are a star. Excellent video. On par with your storefront video series. It's very sad that you are leaving Microsoft. Microsoft needs guys outspoken like you. All the Best.

bananas : On September 03, 2009 8:19 PM said:

Excellent video. Lots of great info , gonna need to watch it a few times to let it all sink in! Will help me tackle MVC.

I am forever in debtted to you and I wish to give you my last goat so you can enjoy its warm milk every morning. xx

erkasoft : On September 06, 2009 5:14 PM said:

I love this video. Easy to learn to MVC. Thanks Rob.

ramsai : On September 11, 2009 2:57 AM said:

Please share the code for this video

chilipalmer : On September 14, 2009 8:03 PM said:

Great example.

Please share code to see exactly how everything is tied together. Thanks.

aanichin : On September 18, 2009 6:58 PM said:

Excellent tutorial. Thank you!

I have a table called Company that has unique identifier as a primary key but also have an integer field called firm_number which is also unique. How do I implement the controller and views to work with the firm_number ?

I was able to create Details and Edit view that expect firm_number as a parameter but the Edit link at the bottom of the Details view refers to an Edit view that expects unique identifier as input parameter.

Posted at 19:32 in the video

naturehermit : On September 21, 2009 10:00 AM said:
create
par20pinspot : On September 23, 2009 7:29 PM said:

Is anyone else having trouble getting the create, edit, and delete to work? (Up to 38:00ish in the video) The pages appear fine and don't throw any errors but ultimately the actions do nothing. When I reference the queries directly instead of out of the repository the pages work correctly. Any ideas?

mamikel : On September 27, 2009 3:40 AM said:

in the test method (index should return 1 or more dinners) the line var data = result.ViewData.Model as IList<Dinner>; fails to instantiate a data object. any ideas where this might be going wrong? Can't seem to step through the test code to see where the issue is occurring

thanks

code I have as per the example:

[TestMethod]

public void Index_Should_Return_1_Or_More_Dinners()

{

//Arrange

var controller = new DinnerController(new Fakes.FakeDinnerRepository());

//Act

var result = controller.Index() as ViewResult;

//Assert

var data = result.ViewData.Model as IList<Dinner>;

Assert.IsTrue(data.Count >= 0);

}

mamikel : On September 27, 2009 4:35 AM said:

I've traced it through and for some reason data is null after this line:

var data = result.ViewData.Model as IList<Dinner>;

Yet, holding the cursor over result.ViewData.Model allows me to inspect the results view and this reveals the expected results list

So, somehow, there appears to be an issue pushing the model into a List - but I'm getting no errors reported - it's a black hole

mamikel : On September 27, 2009 4:43 AM said:

Interesting, if I change the line to

var data = (LList<Dinner>) result.ViewData.Model;

I get the error:

Unable to cast object of type 'System.Linq.EnumerableQuery`1[Nerddinner.Model.Dinner]' to type 'System.Collections.Generic.IList`1...

mamikel : On September 27, 2009 5:10 AM said:

lol, well I also tried going from an IEnumerable to a list and that didn't work either.

But this at least works:

int i = 0;

//Assert

foreach (var item in result.ViewData.Model as IEnumerable<Dinner>)

{

i++;

}

Assert.IsTrue(i >= 0);

I should point out I'm pretty new to C#, Linq To SQL and ASP.NET MVC

mamikel : On September 27, 2009 5:13 AM said:

sorry Assert.IsTrue(i > 0); (and in the above loop could also break when i>0) but more concerned with why I can't get a list back (as the repositry data is a list).

mamikel : On September 27, 2009 8:34 AM said:

Please scratch the above, it's inadvertently answered later in the demo

gdl : On October 07, 2009 5:41 PM said:

Thank you Rob, excellent video, I learned a lot from it.

zeyzone : On October 09, 2009 5:14 PM said:

Thank you very much good lesson

Sharbel_ : On October 15, 2009 1:59 AM said:

Nice job on this video. I am recommending it to all my developers to take a look at for a very good primer on MVC. Thanks for the great work!

alexzyc : On October 16, 2009 6:37 PM said:

The following works for me.

[TestMethod]

public void Index_Should_Return_1_or_More_Dinners()

{

var contorller = new DinnerController(new Fakes.FakeDinnerRepository());

var result = contorller.Index() as ViewResult;

IEnumerable<Dinner> data = result.ViewData.Model as IEnumerable<Dinner>;

Assert.IsTrue(data.Count() > 0);

}

alexzyc : On October 16, 2009 6:57 PM said:

Add ToList()In DinnerController.cs resolves failed issue in "var data = result.ViewData.Model as IList<Dinner>; ".

public ActionResult Index()

{

var dinners = _repository.FindAllDinners().ToList();

return View(dinners);

}

Posted at 40:52 in the video

mkalkere : On November 03, 2009 11:26 AM said:
hi rob

Posted at 59:47 in the video

rick.herrick : On November 05, 2009 6:14 PM said:
jQuery segment starts here.
mshaaban : On November 18, 2009 7:47 AM said:

Thank you so much!

Really, It is very useful.

Leave a Comment

You must be logged in to leave a comment. Click here to log in.

Microsoft Communities