Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4257752
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T05:33:20+00:00 2026-05-21T05:33:20+00:00

I want to create two DropDownList in a cascade using MVC3 (preferably Razor )

  • 0

I want to create two DropDownList in a cascade using MVC3 (preferably Razor) with C#.

I would like to have one dropdown where you can choose the year and another one where you can choose a specific set of months depending on the selected year.

Let’s put it simple. When I choose the current year (i.e. 2011) in the dropdown list “year”, the dropdown list “month” gets populated with the months until the current month (i.e. March). For the other cases (other years) no restriction is given. Moreover it would be nice to “block” the dropdown list “month” before any element in the dropdown list “year” is selected.

I already looked in the Internet for some solutions, using jQuery or even homemade approaches, but they all refer to past versions of MVC and some commands are deprecated in MVC3.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T05:33:20+00:00Added an answer on May 21, 2026 at 5:33 am

    As always you start with a model:

    public class MyViewModel
    {
        public int? Year { get; set; }
        public int? Month { get; set; }
    
        public IEnumerable<SelectListItem> Years
        {
            get
            {
                return Enumerable.Range(2000, 12).Select(x => new SelectListItem
                {
                    Value = x.ToString(),
                    Text = x.ToString()
                });
            }
        }
    }
    

    then a controller:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            var model = new MyViewModel();
            return View(model);
        }
    
        public ActionResult Months(int year)
        {
            if (year == 2011)
            {
                return Json(
                    Enumerable.Range(1, 3).Select(x => new { value = x, text = x }), 
                    JsonRequestBehavior.AllowGet
                );
            }
            return Json(
                Enumerable.Range(1, 12).Select(x => new { value = x, text = x }),
                JsonRequestBehavior.AllowGet
            );
        }
    }
    

    and finally a view:

    @model AppName.Models.MyViewModel
    
    @Html.DropDownListFor(
        x => x.Year, 
        new SelectList(Model.Years, "Value", "Text"),
        "-- select year --"
    )
    
    @Html.DropDownListFor(
        x => x.Month, 
        Enumerable.Empty<SelectListItem>(),
        "-- select month --"
    )
    
    <script type="text/javascript">
        $('#Year').change(function () {
            var selectedYear = $(this).val();
            if (selectedYear != null && selectedYear != '') {
                $.getJSON('@Url.Action("Months")', { year: selectedYear }, function (months) {
                    var monthsSelect = $('#Month');
                    monthsSelect.empty();
                    $.each(months, function (index, month) {
                        monthsSelect.append($('<option/>', {
                            value: month.value,
                            text: month.text
                        }));
                    });
                });
            }
        });
    </script>
    

    Obviously you will notice that in my example I have hardcoded all the values. You should improve this logic by using notions like current year, current month, probably even fetch those values from a repository, etc… but for the purpose of the demonstration this should be enough to put you on the right track.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using ASP.NET MVC3 and EF 4.1 I have two DropDownList in my
I want to create two dimension array of different type like I can add
I want to create two vertical divs using HTML5, CSS3 and JQuery. One Div
I want to create two sites on RubyOnRails and would like to simplify this
I want to create two widgets in flex. One for the movies ( that
I want to create two and three dimensional vectors using a constructor in a
I have a state column in a dataframe and I want to create two
I have created a splash screen in which i want to create two buttons
I want to create two users on my MySQL test database, One with read-only
I have a c# .net winforms solution and I want to create two different

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.