ASP. NET Core Как заполнить выпадающую кнопку из базы данных - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь создать приложение, в котором я могу управлять клиентами. Итак, я создал базу данных и таблицу tboClienti, куда я могу вставить всех своих клиентов.

У каждого клиента есть свои клиенты, которыми я управляю. Итак, я создал другую таблицу tboSottoClienti, в которую я вставляю клиентов своих клиентов. Сейчас я работаю над операциями CRUD, где я могу вставить новый «под клиентом», отредактировать и удалить. Я пытался создать раскрывающийся список клиентов, поэтому всякий раз, когда я хочу создать новый «под клиентом», я могу выбрать клиента.

Я сделал контроллер и модель, чтобы добавить новый «под клиентом», но я не Не знаю, как связать клиента с новым «под клиентом».

Это контроллер и действие для добавления нового «под клиентом»:

public class SottoClientiController : Controller
{
    private readonly AppDbContext _db;

    public SottoClientiController(AppDbContext db)
    {
        _db = db;
    }

    public IActionResult Index()
    {
        var datiSottoClienti = _db.tboSottoClienti.ToList();
        return View(datiSottoClienti);
    }

    public IActionResult CreareSottoCliente()
    {
        return View();
    }

    [HttpPost]
    public async Task<IActionResult> CreareSottoCliente(SottoCliente sottoCliente)
    {
        if (ModelState.IsValid)
        {
            _db.Add(sottoCliente);
            await _db.SaveChangesAsync();
            return RedirectToAction("Index");
        }
        return View(sottoCliente);
    }
}

Это модель:

public class SottoCliente
{
    [Key]
    public int Id { get; set; }

    [Required(ErrorMessage = "Inserisci il nome di proprietario dell'azienda")]
    [Display(Name = "Nome")]
    public string Nome { get; set; }

    [Required(ErrorMessage = "Inserisci il cognome di proprietario dell'azienda")]
    [Display(Name = "Cognome")]
    public string Cognome { get; set; }

    [Display(Name = "Azienda")]
    public string Azienda { get; set; }

    [Required(ErrorMessage = "Inserisci il numero di telefono dell'azienda")]
    [DataType(DataType.PhoneNumber)]
    [Display(Name = "Telefono")]
    [RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$",
       ErrorMessage = "Numero non valido")]
    public string Cellulare { get; set; }
}

Вот представление «Создание», в котором я собираюсь создать раскрывающийся список для клиентов:

<h1>Creare Under Client</h1>

<h4>Under Client</h4>
<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="CreareSottoCliente">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>

            @*@Html.DropDownListFor(m => m.Nome,
                    new SelectList(Enum.GetValues(typeof(Cliente))),
                    "Select Nome")*@

            <div class="form-group">
                <label asp-for="Id" class="control-label"></label>
                <input asp-for="Id" class="form-control" />
                <span asp-validation-for="Id" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="Nome" class="control-label"></label>
                <input asp-for="Nome" class="form-control" />
                <span asp-validation-for="Nome" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="Cognome" class="control-label"></label>
                <input asp-for="Cognome" class="form-control" />
                <span asp-validation-for="Cognome" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="Azienda" class="control-label"></label>
                <input asp-for="Azienda" class="form-control" />
                <span asp-validation-for="Azienda" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="Cellulare" class="control-label"></label>
                <input asp-for="Cellulare" class="form-control" />
                <span asp-validation-for="Cellulare" class="text-danger"></span>
            </div>
            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" />
            </div>
        </form>
    </div>
</div>

Это SQL Таблица клиентов

This is SQL Server Table of Clients

, а это таблица «Под клиентами»

the table od

Любая идея как я могу это сделать?

1 Ответ

0 голосов
/ 17 июня 2020

Я думаю, что такая структура базы данных - это то, что вы ищете:


enter image description here

Если вы сделаете это таким образом, вы можете получить под клиентов вас под клиентов сколько хотите :)

...