ASP.NET MVC
-
Improve localization support in views, model metadata, and validation
Currently the way things get localized in model metadata is the same as DataAnnotations - static properties on some class that does the lookup.
The problem is, this doesn't integrate with the rest of ASP.NET localization (e.g., ResourceProviderFactory) and means you end up with a ton of these static properties to do lookups.
A similar situation is true with validation messages - you get a type name and a static property name.
The problem here is that you don't really get any opportunity to insert any control over where/how resources get retrieved. You can create a custom ResourceProviderFactory; you can't…
891 votes -
better binding support for checkbox lists!
binding checkboxes is still a pain. I'd like to be able to bind a control to an IEnumerable of items and not worry about it anymore.
601 votes -
Multi-tenancy in ASP.NET MVC
Ability to support multiple sites from single code base see Rob Aston video for example http://bit.ly/multi-tenancy and more info http://bit.ly/multi-tenancy-1
508 votes -
Add Portable Areas a la Orchard CMS Modules
It would be an incredibly powerful feature if ASP.NET MVC would support Portable Areas out of the box. A PA would be a class library which contains its own controllers, models, content, views etc. Resources such as css, scripts, images and view templates (.cshtml, .aspx etc) could be embedded resources, but we should also have the option to simply drop the entire project in some sort of "modules" folder in the main MVC application (just like Orchard CMS supports). The main MVC application will autmatically register the areas found in the "modules" folder (also as in Orchard CMS)
488 votes -
Include support for conditional validation
Often times it is necessary to perform a validation only under a certain condition, X is Required IF Y is checked...etc.
428 votes -
ASP.NET MVC + backbone.js +RESTful resources = Crazy Delicious
ASP.NET MVC supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful resources
304 votes -
Introduce strongly-typed HtmlHelper / UrlHelper methods
We should be able to use strongly-typed HtmlHelper (and UrlHelper) methods as follows: Html.Action<ProductsController>(pc => pc.Index())
262 votes -
Add LESS compilation/support
Add ability to create LESS files and have them served as CSS, and integrate with the minification coming in 4. Syntax & Auto-Complete would be big pluses as well.
259 votes -
Route Localization
In MVC 3 creating global sites is not easy.
Route localization would be really useful for many reasons including SEO.
Take the route: /post/show/1/hello-world
This route could become:
/en-US/post/show/1/hello-world
/en-GB/post/show/1/hello-world
/pt-PT/artigo/ver/1/ola-mundoThe culture code is necessary to distinguish between en-US and en-GB.
But all route items is localized.
This should also be integrated with a cookie just to redirect the user to its version if she or he already visited the site before.
I think I checked all the approaches and implementations I found. And I didn't find any really satisfying.
I hope MVC Team could include an easy way…
224 votes -
PRG pattern, out-of-the-box support
Built-in support for the PRG (Post, Redirect, Get) pattern. Possibly, through controller action filters ?!, along the the following line: http://weblogs.asp.net/rashid/archive/2009/04/01/asp-net-mvc-best-practices-part-1.aspx#prg
161 votes -
Validation group support
Support for validation groups like in ASP.NET Forms. It is needed to support multiple HTML forms on the same page. Also, is should support strongly typed View Data Models, and both client and server side validation.
142 votes -
Add push ajax / comet support
Add push ajax / comet support to stream live json/xml feeds to browsers.
111 votes -
Allow us to provide an alternate name
Allow us to provide alternate names for input elements using DataAnotation for Model-Properties. Sample:
[AlternateNames(true, "un", "cn")]
public int UserName {get;set;}So the DefaultModelBinder respects this attribute and searches for "UserName", if not found searches for "un" and finally for "cn".
Helpers like TextBoxFor<> should also consider this attribute. When the first boolean argument is true (force alternate name) the HtmlHelper should choose the first alternate name as the input name ("un") otherwise choose the property name.
This attribute would allow to use models for forms that are posting to pages that are using other technologies or minimize parameter names…
111 votes -
Make 'Find all References' search in MVC Views
For example, let's say I'm working in an ASP.NET MVC project and have a file named AccountDetailsViewModel.cs open in IDE editor. This file contains a class named AccountDetailsViewModel. In this same MVC project, I have an MVC View in AccountDetailsView.cshtml. This View is strongly typed to use the AccountDetailsViewModel object. When I right-click in AccountDetailsViewModel to find all references to this class, the file AccountDetailsView.cshtml does not appear in the results. The reference to the View Model is not discovered in AccountDetailsView.cshtml. Please enhance the "Final all References" search functionality to discover references in ASP.NET view files such as .cshtml,…
109 votes -
Integrate the Sprite Optimization Framework
Assuming it hits 1.0 in time, this should be ootb functionality.
107 votes -
Portable areas to allow code reuse without the pain of embedded resources
Some way of reusing areas between projects would be great.
Ochard style CMS modules are great but the pain of embedded resources means that changing CSS, JavaScript results in a painful rebuild and test cycle.
99 votes -
Better Model binding to a list with Non-Sequential Indices
It's high time we get rid of hidden fields to fix the non-sequential indices.
96 votes -
92 votes
-
Support registering Javascript and CSS into <head>
MVC is great for building straight pages, but the current design falls down for components. You can't build an HtmlHelper extension (or any other kind of extension) that renders a script/css into <head> based on the configuration options passed in.
This makes component development very difficult. This is one place ASP.NET webforms shines -- the ClientScriptManager (http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.aspx). Obviously, we don't need everything there. Just including a couple methods like RegisterClientScriptBlock and RegisterStartupScript would be huge.
You could actually build a component and/or HtmlHelper that would be a drop in, instead of having to do the HtmlHelper + adding…
91 votesWhile the implementation is not nearly complete, you can see that we started this feature (currently called Resource Manager) in ASP.NET Web Pages 2 (and MVC 4) Developer Preview.
Our plan is to finish the design and implementation by RTW of Web Pages 2 and MVC 4.
-
Additional authentication options such as Facebook, Twitter, Google, Windows Live, LinkedIn, etc.
Additional authentication options such as Facebook, Twitter, Google, Windows Live, LinkedIn, etc.
80 votes
- Don't see your idea?