Why write separate actions to provide a JSON/XML API in ASP.NET MVC? If you are already using view models, MVC API Action Filter makes reusing your existing actions quick and clean.
Expose your Existing ASP.NET MVC Actions as JSON/XML API Endpoints
Getting the id and name Attribute Generated by Typed Html Helpers
ASP.NET MVC typed html helpers generate helpful ready-to-bind markup for us. Learn how to detect what the resulting id and name attribute will be for use in your view code
Client Side Model-Aware Validation
In a previous post, we built a model-aware validator using Foolproof for ASP.NET MVC. Now, it’s time to create the client side version because posting back sucks.
Render Your Model With Client Side jQuery Templates Instead of ASP.NET MVC Partial Views
Stop writing render code in multiple places in your ASP.NET MVC ajax applications. Learn how to push your model to the browser and use jQuery to bind it to templates.
Build Model-Aware Custom Validation Attributes in ASP.NET MVC 2
Using Foolproof’s ModelAwareValidationAttribute class, you can create custom model-aware data annotations to solve any complex validation scenario
Foolproof Provides Contingent Data Annotation Validation for ASP.NET MVC 2
“MVC Foolproof Validation” is my first open source project to help bridge the gap in ASP.NET MVC Data Annotations when dealing with contingent or dependent scenarios
Rendering and Binding Drop Down Lists using ASP.NET MVC 2 EditorFor
Use ASP.NET MVC’s EditorFor to render a drop down list from a view model. Then use a custom model binder to bind the selection back to the view model
Post Complex JavaScript Objects to ASP.NET MVC Controllers
Use the plug-in postify.js to handle posting complex JavaScript objects to ASP.NET MVC controllers using the default model binder
Simple AJAX Polling Plugin for jQuery
Implement a simple jQuery plugin that simplifies AJAX-based polling in your web applications
Using ASP.NET MVC Partial Views for Dynamic JavaScript Rendering
Learn how to reuse ASP.NET MVC Partial Views from your JavaScript using

1