开发者

asp.net mvc html Drop down list helper isn't selecting option

开发者 https://www.devze.com 2023-01-05 21:27 出处:网络
In my controller I generated a SelectList that I pass to the dropdown helper: <%= Html.DropDownList(\"abc123\", Model.SomeList) %>

In my controller I generated a SelectList that I pass to the dropdown helper:

  <%= Html.DropDownList("abc123", Model.SomeList) %>

I look at the querystring for a value, which is a ID.

I then loop through all the items in the SelectList and if it is equal to the ID, I do:

item.Selected = 开发者_如何转开发true;

The controller action then passes this SelectList to the view and then to the Html helper.

In debug mode I can see the value does get set to true, but the html renders without selecting the item.

What can the issue be?


I don't know what you are doing wrong as you've shown 0 code but this definitely works:

public ActionResult Index(int? id)
{
    var model = new SelectList(new[]
    {
        new { Id = 1, Name = "item 1" },
        new { Id = 2, Name = "item 2" },
    }, "Id", "Name", id);
    return View(model);
}

and in your view:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SelectList>" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <%= Html.DropDownList("abc123", Model) %>

</asp:Content>

Now if you navigate to /home/index/1 the first item is selected, if you navigate to /home/index/2 the second item item selected.

Also if you are using ASP.NET MVC 2.0 I would recommend you the strongly typed DropDownListFor helper instead of DropDownList.


This seems to be a common MVC problem:

Html.DropDownListFor not behaving as expected ASP.net MVC

0

精彩评论

暂无评论...
验证码 换一张
取 消