Хорошо, я знаю, что мне не хватает чего-то настоящего простого, поэтому, возможно, дополнительный набор глаз поможет. У меня есть класс POCO (State) в моем DAL, и в моем приложении MVC я пытаюсь связать это с DropDownList, но когда он загружает все, что я получаю, это WeddingPhotographer.Models.BusinessObjects.State в моем DropDownList 50 раз , Вот код из класса POCO:Привязать к DropDownList в MVC 2
public partial class State
{
public virtual int Key
{
get;
set;
}
public virtual string StateAbbreviation
{
get;
set;
}
public virtual string StateName
{
get;
set;
}
}
Вот код из моего бизнес-объекта (срок использования слегка)
public class State
{
public int Key { get; set; }
public string StateName { get; set; }
public string StateAbbreviation { get; set; }
}
public class StateList
{
private static IRepository<WeddingPhotographer.Data.Model.State> states = ObjectFactory.GetInstance<IRepository<WeddingPhotographer.Data.Model.State>>();
static readonly IList<State> stateList = new List<State>();
public static IEnumerable<State> States
{
get
{
foreach (WeddingPhotographer.Data.Model.State s in states.GetAll())
{
stateList.Add(new State
{
Key = s.Key,
StateName = s.StateName,
StateAbbreviation = s.StateAbbreviation
});
}
return stateList;
}
}
}
Тогда мои состояния DropDownList управления
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<WeddingPhotographer.Models.BusinessObjects.State>" %>
<%: Html.DropDownList("StatesDropDown", new SelectList(WeddingPhotographer.Helpers.StateList.States,Model))%>
И, наконец, как я его загружаю
<div class="editor-field">
<% Html.RenderPartial("StatesDropDown"); %>
<%= Html.ValidationMessageFor(m => m.State) %>
</div>
Я знаю, что я пропускаю что-то просто здесь (относительно нового MVC так до сих пор пытаюсь получить все правильно)
Я не совсем уверен, что понимаю что вы говорите – PsychoCoder
Вы имеете в виду, если список * NOT * null? Добавляйте только элементы в свой список выбора, которые не равны нулю, а затем, когда вы привязываетесь к вашему списку выбора, у вас нет нулевых элементов, поскольку все они были отмечены перед их добавлением в список выбора. – BenAlabaster