All Projects → ivaylokenov → Asp.net Mvc Lambda Expression Helpers

ivaylokenov / Asp.net Mvc Lambda Expression Helpers

Licence: mit
A collection of extension methods providing strongly typed link generation for ASP.NET MVC 5 projects.

MyTested.AspNetCore.Mvc  ASP.NET-MVC-Lambda-Expression-Helpers - Typed
  link generation for ASP.NET MVC

===================================== Extension methods allowing using Lambda Expressions instead of magic strings in your ASP.NET MVC 5 application. It resolves all route values, including areas and parameters in the method expression.

Build status license NuGet Badge

To install from NuGet:

Install-Package System.Web.Mvc.Expressions

For other interesting packages check out:

Currently supported in Controller (add "using System.Web.Mvc.Expressions;"):

- RedirectToAction<HomeController>(c => c.Index())

- RedirectToActionPermanent<HomeController>(c => c.Index())

- AddModelError<FooInputModel>(m => m.Bar, "Invalid value for Bar.")

- AddModelError<FooInputModel>(m => m.Baz, new ArgumentException("Invalid value for Baz.")

Currently supported in Views (add namespace "System.Web.Mvc.Expressions" to the web.config file in the Views folder):

- Html.ActionLink<HomeController>(c => c.Index(5))

- Html.BeginForm<HomeController>(c => c.Index(5))

- Html.RenderAction<HomeController>(c => c.Index(5))

- Html.Action<HomeController>(c => c.Index(5))

- Url.Action<HomeController>(c => c.Index(5))

- Ajax.ActionLink<HomeController>(c => c.Index(5))

- Ajax.BeginForm<HomeController>(c => c.Index(5))

More info:

  • Support for areas out of the box.
  • Support for attribute routing - RouteAttribute, RoutePrefixAttribute and RouteAreaAttribute.
  • Support for ActionNameAttribute which value overrides the action name when generating URL.
  • Support for URL generation to async controller actions.

Authors:

Contributors:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].