Мне нужна небольшая помощь с этим выпадающим списком.У меня есть форма, в которой я хотел бы, чтобы местоположение клиента было выбранным.У меня есть модель представления, которая заполняет все, что мне нужно, но я бы хотел, чтобы местоположение выбиралось.У каждого клиента должна быть хотя бы 1 запись, поэтому, на мой взгляд, мне, вероятно, потребуется получить счет с оператором «если», прежде чем заполнять раскрывающийся список, а если есть только 1, просто используйте его в качестве EditorFor.Местоположение извлекается из таблицы адресов вместе с именем клиента, извлекаемым из таблицы клиентов.
Я попытался выполнить
ViewBag.Locations = new SelectList(db.Addresses, "AddressId", "LocationName");
Однако текущая настройка модели происходит из таблицы адресов, и столбец не является списком IEnumerable SelectList.Ниже моя модель:
public class AddEventViewModel
{
public static AddEventViewModel GetCustomerInfo(string userId, CustomerEntities db)
{
var QCustInfo = from ad in db.Addresses
join ua in db.UserToAddresses on ad.AddressId equals ua.AddressId
join cus in db.CustomerNames on ad.CustomerId equals cus.CustomerId
where (ua.UserId == userId)
select new AddEventViewModel
{
CustomerId = cus.CustomerId,
CustomerName = cus.CustomerName,
Location = ad.LocationName
};
var result = QCustInfo.SingleOrDefault();
return result;
}
public int CustomerId { get; set; }
[Display(Name = "Location Name")]
public string Location { get; set; }
public bool AllDay { get; set; }
[Display(Name ="Title")]
public string Title { get; set; }
[Display(Name = "Description")]
public string Description { get; set; }
[DataType(DataType.DateTime), Required]
[DisplayFormat(DataFormatString = "{0:dd/mm/yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Start Date")]
public DateTime StartDate { get; set; }
[DataType(DataType.DateTime), Required]
[DisplayFormat(DataFormatString = "{0:dd/mm/yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "End Date")]
public DateTime EndDate { get; set; }
[Display(Name = "Customer Name")]
public string CustomerName { get; set; }
public virtual CustomerNames Customer { get; set; }
public virtual IEnumerable<Addresses> Addresses { get; set; }
Форма - это просто базовая форма с полями и работами. Мне просто нужно, чтобы местоположение было выбрано.Создание другой viewModel, кажется, не подходит для моей текущей настройки, так как это объединение с реальной моделью таблицы.Спасибо за вашу помощь.