ASP.NET MVC

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the “My feedback” filter and select “My open ideas”.
(thinking…)
Reset

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
    1. 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… more

      552 votes
      Vote 0 votes Vote Vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service

        You'll receive a confirmation email with a link to create a password (optional).

        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • 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.

        432 votes
        Vote 0 votes Vote Vote
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service

          You'll receive a confirmation email with a link to create a password (optional).

          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • 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)

          341 votes
          Vote 0 votes Vote Vote
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service

            You'll receive a confirmation email with a link to create a password (optional).

            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • 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.

            333 votes
            Vote 0 votes Vote Vote
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service

              You'll receive a confirmation email with a link to create a password (optional).

              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • 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

              247 votes
              Vote 0 votes Vote Vote
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service

                You'll receive a confirmation email with a link to create a password (optional).

                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • think about integrating knockout.js in mvc

                knockout.js really does a lot about having a viewmodel on the client-side and being able to react to events or methods fired by changed data or calls from html control events.

                I'm not quite sure how this would be best to integrate with MVC, but it would be worth a look if you try to incorporate more ajax like behaviour of webpages without the traditional get/post pattern.

                208 votes
                Vote 0 votes Vote Vote
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service

                  You'll receive a confirmation email with a link to create a password (optional).

                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • The empty ASP.NET MVC project template should be empty

                  When you create an ASP.NET MVC project from the empty template, it's not empty. Right now you get Entity Framework, jQuery, jQuery UI, Knockout and a CSS file. That's not empty. It may be useful, but it's not empty.

                  For a lot of projects, these dependencies make sense, so it would probably make sense to rename "Empty" to "Basic" and to create a new empty template that is in fact empty.

                  The same applies to an empty controller: Why does this contain an index action and a comment about the route that may not match your actual routes?

                  204 votes
                  Vote 0 votes Vote Vote
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service

                    You'll receive a confirmation email with a link to create a password (optional).

                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • 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.

                    193 votes
                    Vote 0 votes Vote Vote
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service

                      You'll receive a confirmation email with a link to create a password (optional).

                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • 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())

                      175 votes
                      Vote 0 votes Vote Vote
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service

                        You'll receive a confirmation email with a link to create a password (optional).

                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                      • use action methods for rendering CSS and JavaScripts (like http://site.com/js/somejs).

                        It would make it possible to read the JavaScript or CSS from many sources, pack them together and then cache (OutputCache attribute).

                        157 votes
                        Vote 0 votes Vote Vote
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service

                          You'll receive a confirmation email with a link to create a password (optional).

                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                        • 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

                          142 votes
                          Vote 0 votes Vote Vote
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service

                            You'll receive a confirmation email with a link to create a password (optional).

                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                          • 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.

                            105 votes
                            Vote 0 votes Vote Vote
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service

                              You'll receive a confirmation email with a link to create a password (optional).

                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                            • Add push ajax / comet support

                              Add push ajax / comet support to stream live json/xml feeds to browsers.

                              97 votes
                              Vote 0 votes Vote Vote
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service

                                You'll receive a confirmation email with a link to create a password (optional).

                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • 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… more

                                92 votes
                                Vote 0 votes Vote Vote
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service

                                  You'll receive a confirmation email with a link to create a password (optional).

                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                • 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-mundo

                                  The 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… more

                                  92 votes
                                  Vote 0 votes Vote Vote
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service

                                    You'll receive a confirmation email with a link to create a password (optional).

                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • Integrate the Sprite Optimization Framework

                                    Assuming it hits 1.0 in time, this should be ootb functionality.

                                    87 votes
                                    Vote 0 votes Vote Vote
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service

                                      You'll receive a confirmation email with a link to create a password (optional).

                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • 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.

                                      79 votes
                                      Vote 0 votes Vote Vote
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service

                                        You'll receive a confirmation email with a link to create a password (optional).

                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                      • 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.

                                        79 votes
                                        Vote 0 votes Vote Vote
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service

                                          You'll receive a confirmation email with a link to create a password (optional).

                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                        • 78 votes
                                          Vote 0 votes Vote Vote
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service

                                            You'll receive a confirmation email with a link to create a password (optional).

                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          • 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… more

                                            73 votes
                                            Vote 0 votes Vote Vote
                                            Vote
                                            Sign in
                                            Check!
                                            (thinking…)
                                            Reset
                                            or sign in with
                                            • facebook
                                            • google
                                              Password icon
                                              I agree to the terms of service

                                              You'll receive a confirmation email with a link to create a password (optional).

                                              Signed in as (Sign out)
                                              You have left! (?) (thinking…)
                                            ← Previous 1 3 4 5 6 7
                                          • Don’t see your idea?
                                          • Post a new idea…
                                          • ASP.NET MVC

                                            Knowledge Base and Helpdesk