Нужна помощь в передаче 3-го параметра на 4 частичных просмотра на составной странице - PullRequest
0 голосов
/ 14 октября 2018

Нужна помощь в передаче 3-го параметра для 4-х частичных просмотров на составной странице.Для предыдущих попыток поиска ответа см. здесь для усилий со скриншотами и здесь для частичных ответов, которые я пытался использовать безуспешно) .

Я настойчив, но яЯ все еще не могу найти правильный способ передачи 3-го параметра для типа int Id в строках @Html.Partial("_DetailsXxxx", Model.Xxxx, ?) в 4 частичных просмотра на странице _Assemble.cshtml, показанной ниже:

@model edxl_cap_v1_2.Models.ContentViewModels.EdxlCapMessageViewModel

@{
    Layout = "~/Views/Shared/_EdxlLayout.cshtml";
}

<!DOCTYPE html>

<head>
    <meta name="viewport" content="width=device-width" />
    <link rel="stylesheet" href="~/css/capv1_2_refimp.css" />
    <title>Assemble EDXL-CAP Message</title>
</head>

<h4>Assemble EDXL-CAP Message</h4>

<!-- DetailsAlert -->
<div class="content-wrapper">
    @Html.Partial("_DetailsAlert", Model.Alert)
</div>
<!-- End of DetailsAlert -->

<!-- DetailsInfo -->
<div class="content-wrapper">
    @Html.Partial("_DetailsInfo", Model.Info)
</div>
<!-- End of DetailsInfo -->

<!-- DetailsArea -->
<div class="content-wrapper">
    @Html.Partial("_DetailsArea", Model.Area)
</div>
<!-- End of DetailsArea -->

<!-- DetailsResource -->
<div class="content-wrapper">
    @Html.Partial("_DetailsResource", Model.Resource)
</div>
<!-- End of DetailsResource -->

Этот параметр представляет собой int для SelectedAlertIndex, который получается, когда Alert_Identifier выбран из раскрывающегося списка на предыдущей странице AlertPick.cshtml, показанной ниже: @model edxl_cap_v1_2.Models.ContentViewModels.AlertViewModel

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

<head>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
</head>

@{
    <h4>@Model.Alerts.Count Alerts</h4>

    <form asp-controller="Alerts" asp-action="PickAlert" method="post">
        <select class="cap_select" id="cap_select" style="width:100%;max-width:95%;"
        asp-for="SelectedAlertIndex" asp-items="Model.Alert_Identifiers">
            <option>Select one</option>
        </select>
        <br />
        <input type="submit" name="PickAlert" value="Pick Alert to Assemble EDXL-Cap Message" />
    </form>
}

PickAlert() код контроллера для этой страницы:

public IActionResult PickAlert(Alert obj, int? SelectedAlertIndex)
    {
        if (SelectedAlertIndex.HasValue)
        {
            ViewBag.Message = "Alert loaded successfully";
        }
        return View(_context.Alert.Where(x => x.AlertIndex == SelectedAlertIndex));
    }

Существуют также контроллеры с аналогичным кодом для PickResource, () PickArea () и PickInfo (), но я не использую их в отдельных выпадающих списках, ноИнтересно, нужно ли для третьего параметра предложение Where или что-то подобное, потому что оно определяет соответствующий XxxxIndex, равный SelectedAlertIndex?Вот PickInfo (), например:

public IActionResult PickInfo(Info obj, int? SelectedAlertIndex)
    {
        if (SelectedAlertIndex.HasValue)
        {
            ViewBag.Message = "Info loaded successfully";
        }
        return View(_context.Info.Where(x => x.InfoIndex == SelectedAlertIndex));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...