Создать представление бритвы данных нескольких моделей - PullRequest
0 голосов
/ 08 июня 2019

Мне нужно сделать CRUD, используя две модели.Но я не могу отобразить их в одном режиме создания или редактирования бритвы.

Наименьшее из того, чего я достигаю, - это включение данных двух моделей в индексное представление.

                            @foreach (var item in Model)
                            {
                                <tr>
                                    <td>
                                        @Html.DisplayFor(modelItem => item.UserName)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelItem => item.UserSurname)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelItem => item.city.CityName)
                                    </td>
                                    <td>
                                        <a asp-action="Edit" asp-route-id="@item.UserID">Edit</a> |
                                        <a asp-action="Details" asp-route-id="@item.UserID">Details</a> |
                                        <a asp-action="Delete" asp-route-id="@item.UserID">Delete</a>
                                    </td>
                                </tr>
                            }
                        </tbody>

Дело в том, что мне сначала нужно создать Город, и я могу отображать его только сID в создаваемом пользователе.Что совсем не удобно

            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="UserName" class="control-label"></label>
                <input asp-for="UserName" class="form-control" />
                <span asp-validation-for="UserName" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="UserSurname" class="control-label"></label>
                <input asp-for="UserSurname" class="form-control" />
                <span asp-validation-for="UserSurname" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="CityID" class="control-label"></label>
                <select asp-for="CityID" class="form-control" asp-items="ViewBag.CityID"></select>

                <a asp-controller="Cities" asp-action="Create">Entrer une nouvelle ville</a>
            </div>
            <div class="form-group">
                <!-- <a asp-action="CreateCity">Create City</a> -->
            </div>
            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </form>

Я бы хотел создать и город, и пользователя в одном и том же виде бритвы.Я попытался также сделать частичное представление, которое называют моделью города.Но у меня есть эта ошибка: «Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется»

Если у вас есть идеи, я буду рад следовать вашим советам.Спасибо.

...