Трудности с DropDownlist в ASP.Net MVC5 - PullRequest
0 голосов
/ 12 октября 2018

Я борюсь с выпадающим списком, перепробовал несколько методов онлайн, и все неудачные покажут методы, которые я пробовал.

Цель Создать квитанцию ​​с датой, ссылкой ... и страной.Страна обязательна и должна быть выпадающим списком.

Таким образом, таблица для Reciept ("ID, имя, дата, адрес, город, CountryList).

RecieptModel

public class TransactionModel
{
    public int ID { get; set; }
    public int Name{ get; set; }
    public DateTime Date { get; set; }
    public string Address { get; set;}
    public string City { get; set; }
    public CountryList CountryList { get; set; }
}

public class ApplicationDbContext : DbContext
{
    public DbSet<RecieptModel> Reciepts { get; set;}
    public DbSet<CountryList> coutryList { get; set; }
}

CountryList

public class CountryList
{
    public byte Id { get; set; }

    public enum Country
    {
        Germany,
        US,
        UK
    }
}

Контроллер

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,Name,Date,City,CountryList")] Reciepts reciepts)
{
    if (ModelState.IsValid)
    {
        db.Reciepts.Add(reciepts);
        db.SaveChanges();
        return RedirectToAction("Index");
    }

    return View(reciepts);
}

Просмотр

<div class="form-group">
    @Html.LabelFor(model => model.CountryList, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EnumDropDownListFor(model => model.CountryList)
        @Html.ValidationMessageFor(model => model.CountryList)
    </div>
</div>

Это не удалось, я искал несколько примеров, я пытаюсь сделать это без использования javascript. В конце я просто хочу узнать, как реализовать Dropdownlist и сохранить его в базе данных с множеством методов, которые я пытался реализоватьне удалось в MVC5.

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Есть небольшое изменение в вашем представлении, где вы привязываете страну

это на самом деле вы пишете

 @Html.EnumDropDownListFor(model => model.CountryList)

Для изменения необходимо добавить свойство name в список стран (это должно бытьИдентификатор, который вы выбрали в своей модели), поэтому он должен быть таким, чтобы поддерживать значение списка стран

@Html.DropDownListFor(model => model.CountryList.Id, new SelectList(model => model.CountryList)

Поскольку каждому элементу управления HTML необходим уникальный идентификатор

0 голосов
/ 13 октября 2018

Я бы посоветовал вам добавить метод расширения html, который реализует выпадающий список для универсального enumarator.Взгляните на этот ответ .

...