Проблема: страницы частичного просмотра (PV) отображаются справа на отдельных страницах, а не на странице четырех (4) PV, несмотря на идентичный код.Нужно передать параметр в PV? - PullRequest
0 голосов
/ 04 октября 2018

Это третий вопрос по этой теме.Надеюсь, я улучшил этот вопрос, поскольку борюсь с завершением этого проектаВо-первых, давайте посмотрим на страницу со раскрывающимся списком Alert_Identifiers - ключевого значения, которое получает данные из базы данных mysql для проекта.AlertPick.cshtml:

@model IEnumerable<edxl_cap_v1_2.Models.ContentViewModels.Alert>
@using edxl_cap_v1_2.Models.ContentViewModels

@{
    ViewData["Title"] = "PickAlert";
}

<head>
    <meta name="viewport" content="width=device-width" />
    <link rel="stylesheet" href="~/css/capv1_2_refimp.css" />
    <title>@ViewBag.Title</title>
</head>

    <h4>Alert</h4>
    <div>
        @ViewBag.Message
    </div>

<style>
    tr:nth-child(even) {
        background-color: lightBlue;
    }

    tr:nth-child(odd) {
        background-color: white;
    }
</style>

    <table class="smallText">

    @foreach (var item in Model)
    {
        <tr>
            <td>
                &nbsp;&nbsp;
            </td>
            <td>
                <div id="elementInput">

                    <span class="smallText">
                        @Html.DisplayNameFor(model => model.Alert_Identifier) value
                        <input type="text" name="elementValue" value="@Html.DisplayFor(modelItem => item.Alert_Identifier)" size="60" />
                    </span>

                </div>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
            <td>
                <form asp-area="" asp-controller="alerts" asp-action="_DetailsAlert" method="post" asp-route-id="@item.AlertIndex">
                    <input type="hidden"
                           name="Identifier"
                           value="@Html.DisplayFor(modelItem => item.Alert_Identifier)">
                    <input type="submit"
                           value="Check Alert">
                </form>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
        </tr>
        <tr>
            <td>
                &nbsp;&nbsp;
            </td>
            <td>
                <div id="elementInput">

                    <span class="smallText">
                        @Html.DisplayNameFor(model => model.Alert_Identifier) value
                        <input type="text" name="elementValue" value="@Html.DisplayFor(modelItem => item.Alert_Identifier)" size="60" />
                    </span>

                </div>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
            <td>
                <form asp-area="" asp-controller="infos" asp-action="_DetailsInfo" method="post" asp-route-id="@item.AlertIndex">
                    <input type="hidden"
                           name="Identifier"
                           value="@Html.DisplayFor(modelItem => item.Alert_Identifier)">
                    <input type="submit"
                           value="Check Info">
                </form>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
        </tr>
        <tr>
            <td>
                &nbsp;&nbsp;
            </td>
            <td>
                <div id="elementInput">

                    <span class="smallText">
                        @Html.DisplayNameFor(model => model.Alert_Identifier) value
                        <input type="text" name="elementValue" value="@Html.DisplayFor(modelItem => item.Alert_Identifier)" size="60" />
                    </span>

                </div>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
            <td>
                <form asp-area="" asp-controller="areas" asp-action="_DetailsArea" method="post" asp-route-id="@item.AlertIndex">
                    <input type="hidden"
                           name="Identifier"
                           value="@Html.DisplayFor(modelItem => item.Alert_Identifier)">
                    <input type="submit"
                           value="Check Area">
                </form>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
        </tr>
        <tr>
            <td>
                &nbsp;&nbsp;
            </td>
            <td>
                <div id="elementInput">

                    <span class="smallText">
                        @Html.DisplayNameFor(model => model.Alert_Identifier) value
                        <input type="text" name="elementValue" value="@Html.DisplayFor(modelItem => item.Alert_Identifier)" size="60" />
                    </span>

                </div>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
            <td>
                <form asp-area="" asp-controller="resources" asp-action="_DetailsResource" method="post" asp-route-id="@item.AlertIndex">
                    <input type="hidden"
                           name="Identifier"
                           value="@Html.DisplayFor(modelItem => item.Alert_Identifier)">
                    <input type="submit"
                           value="Check Resource">
                </form>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
        </tr>
        <tr>
            <td>
                &nbsp;&nbsp;
            </td>
            <td>
                <div id="elementInput">

                    <span class="smallText">
                        @Html.DisplayNameFor(model => model.Alert_Identifier) value
                        <input type="text" name="elementValue" value="@Html.DisplayFor(modelItem => item.Alert_Identifier)" size="60" />
                    </span>

                </div>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
            <td>
                <form asp-area="" asp-controller="EdxlCapMessageViewModels" asp-action="_Assemble" method="post" asp-route-id="@item.AlertIndex">
                    <input type="hidden"
                           name="Identifier"
                           value="@Html.DisplayFor(modelItem => item.Alert_Identifier)">
                    <input type="submit"
                           value="Add All">
                </form>
            </td>
            <td>
                <text>&nbsp;&nbsp;</text>
            </td>
        </tr>
    }
</table>

Когда выбран Alert_Identifier, соответствующий одной записи в базе данных, и нажата кнопка отправки, браузер открывает эту страницу

Первые четыре строки работают правильно, когда нажата кнопка «Проверить XXX».Они показывают страницу отдельных данных «_DetailsXXX.cshtml» по одной за раз.Вот экран страницы, на котором отображается страница _DetailsAlert.cshtml.

Этот параметр настроен таким образом, что эти страницы можно просматривать по отдельности, и составная страница, когда она будет работать, также будет работать встраницы «Обзор» и «Одобрить».В случае страницы «Сборка» здесь четыре отдельные страницы должны отображаться вместе, когда нажата кнопка «Добавить все», но в настоящее время эти страницы отображаются без значений данных для элементов данных .

Я также собираюсь пинговать пару более опытных людей, которые ранее помогли мне взглянуть на это, я также изучаю совершенно другой механизм внедрения для ввода данных в программу, где это необходимо, и ярассмотрим использование в следующих спецификациях.

Наконец, я rexbroo на GitHub.com, где вы можете найти почти идентичные программы Visual Studio в репозиториях: edxl_cap_v1_2-VS4Win (для Windows) и edxl_cap_v1_2-VS4Mac (для Mac) и edxl_cap_v1_2, sql-mysql-VisualStudio, где самый последний дамп базы данных - 20180928.

1 Ответ

0 голосов
/ 05 октября 2018
 <input type="text" name="elementValue" value="@Html.DisplayFor(modelItem => item.Alert_Identifier)" size="60" />

Вам не нужно использовать помощник @ Html.DisplayFor здесь.Просто используйте:

<input type="text" name="elementValue" value="@item.Alert_Identifier" size="60" />

Ни одно из ваших входных значений не должно использовать Html.DisplayFor.То есть вставка тега в значение, когда все, что вам действительно нужно, это значение свойства.

Также я подвергаю сомнению причину использования нескольких форм на странице.Не могли бы вы использовать одну форму и опубликовать одно действие?Вам нужно разместить вообще?Может ли действие быть реорганизовано в get и позволить вместо него использовать тег <a>?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...