Функция частичного просмотра работает только со страницами Razor первой вкладки - PullRequest
0 голосов
/ 26 мая 2020

У меня есть частичное представление, подобное этому:

@model WorkersManager.Pages.Workers.DetailsModel
@{ 
    string abcde = this.ViewData.ContainsKey("training") ? (string)this.ViewData["training"] : null;
}
<ul class="nav nav-tabs ">
    @foreach (var company in Model.Documents.Where(x => x.DocGroup == @abcde && x.Archived == "false").Select(x => x.Company).ToList().Distinct().ToList())
    {
        <li class="nav-item">
            <a class="nav-link" href="#@company.Replace(" ",string.Empty).Replace(".",string.Empty)" data-toggle="tab">@company</a>
        </li>
    }
</ul>
<div class="tab-content">
    @foreach (var company in Model.Documents.Where(x => x.DocGroup == @abcde && x.Archived == "false").Select(x => x.Company).ToList().Distinct().ToList())
    {
    <div id="@company.Replace(" ",string.Empty).Replace(".",string.Empty)" class="tab-pane ">
        @{
            string id1 = "Select" + (@company.Length).ToString();
            string id2 = "Set" + (@company.Length).ToString();
        }
        <div class="d-flex bd-highlight ">
            <div class="p-2 bd-highlight"><h3>@company</h3></div>
            <div class="ml-auto p-2 bd-highlight">
                <select id="@id1" class="custom-select" asp-for="SelectedDivison" asp-items="Model.DivisonSelect" onchange="myFunction(@id1, @id2)">
                </select>
            </div>
            <p></p>
        </div>
        <p></p>

        <input id="@id2" class="form-control" asp-for="SelectedDivison">
        @foreach (var docOfCompany in Model.Documents.Where(x => x.DocGroup == @abcde && x.Company == @company && x.Archived == "false").ToList())
        {
            <form method="post" enctype="multipart/form-data">
                <div class="form-group">
                    <div class="form-inline">

                        <h5 class="col-md-3">@docOfCompany.DocName</h5>
                        <button class="btn btn-dark" type="submit" asp-page-handler="printdoc"
                                asp-route-workerID="@Model.Worker.ID"
                                asp-route-docID="@docOfCompany.ID">
                            Print
                        </button>

                        <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
                            Nastavení variabilních proměných
                        </button>
                        @*<input id="hiddenDivision" type="hidden" class="form-control" asp-for="SelectedDivison">*@

                        <div class="collapse" id="collapseExample">
                            @if (Model.AdjustableVariableList != null)
                            {
                                for (int i = 0; i < Model.AdjustableVariableList.Where(x => x.DocId == @docOfCompany.ID).ToList().Count; i++)
                                {
                                    <div class="d-sm-flex">
                                        <div class="form-group col-md-6">
                                            <p>@Model.AdjustableVariableList.Where(x => x.DocId == @docOfCompany.ID).ToList()[i].WordToReplace</p>

                                            <input type="text" class="form-control" asp-for="AdjustableVariableList.Where(x=>x.DocId == docOfCompany.ID).ToList()[i].AdjustableValue" placeholder="">
                                            <input type="hidden" class="form-control" asp-for="AdjustableVariableList.Where(x=>x.DocId == docOfCompany.ID).ToList()[i].PropertyToSetInsteadOfReplacedWord">
                                            <input type="hidden" class="form-control" asp-for="AdjustableVariableList.Where(x=>x.DocId == docOfCompany.ID).ToList()[i].WordToReplace">
                                        </div>
                                    </div>
                                }
                            }
                        </div>
                    </div>
                </div>
            </form>
        }
    </div>


    }
</div>


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

myFunction(id1, id2) {
            debugger
            id2.value = id1.value;

работает только для первой вкладки, но не для остальных. Есть идеи, как заставить его работать со всеми вкладками? Я новичок в ASP net и бритвенных страницах, так что уверен, что это просто ладья ie ошибка

...