Razor ASP. NET событие onclick кнопки внутри @RenderPage () не работает - PullRequest
0 голосов
/ 24 апреля 2020

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

Форма отображается внутри модала с использованием метода @RenderPage () из ASP. NET.

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

Вот код:

Это мой модальный код внутри файла Index.cs html:

<div id="addItemViewModal" class="modal">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Add Report Catalogue</h4>
                <button type="button" class="close" data-dismiss="modal">X</button>
            </div>
            @RenderPage("FormBody.cshtml");
            <div class="modal-footer">
                <button type="submit" class="btn btn-success" form="reportCatalogueForm">Save</button>
                <button id="btnClearFormAddItem" type="button" class="btn btn-danger">Clear</button>
            </div>
        </div>
    </div>
</div>

<button id="btnShowAddItemModal" class="btn btn-secondary" type="button">Add Report Catalog</button>

Это часть моего кода формы внутри файла FormBody.cs html с кнопкой и сценарием в end:

<form id="reportCatalogueForm" method="post">
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })

    <div id="formPage1">
        @Html.HiddenFor(model => model.ReportCatalogue.Id)
        <div class="form-group">
            @Html.LabelFor(model => model.ReportCatalogue.ComponentName,
            htmlAttributes: new { @class = "control-label col-md-6" })
            <div class="col-md-8">
                @Html.EditorFor(model => model.ReportCatalogue.ComponentName,
                new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.ReportCatalogue.ComponentName,
                "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.ReportCatalogue.ComponentDescription,
            htmlAttributes: new { @class = "control-label col-md-6" })
            <div class="col-md-12">
                @Html.EditorFor(model => model.ReportCatalogue.ComponentDescription,
                new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.ReportCatalogue.ComponentDescription,
                "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.ReportCatalogue.OwnerName,
            htmlAttributes: new { @class = "control-label col-md-6" })
            <div class="col-md-8">
                @Html.EditorFor(model => model.ReportCatalogue.OwnerName,
                new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.ReportCatalogue.OwnerName,
                "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.ReportCatalogue.OwnerEmail,
            htmlAttributes: new { @class = "control-label col-md-6" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.ReportCatalogue.OwnerEmail,
                new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.ReportCatalogue.OwnerEmail,
                "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.ReportCatalogue.OwnerRole,
            htmlAttributes: new { @class = "control-label col-md-6" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.ReportCatalogue.OwnerRole,
                new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.ReportCatalogue.OwnerRole,
                "", new { @class = "text-danger" })
            </div>
        </div>            
        <br />            
        <button class="btn btn-secondary formButton" type="button" onclick="test()">Next</button>
    </div>
    .
    .
    .
    <script>
        function test(){
             console.log('Hello');
        };
    </script>

По какой-то причине эта функция никогда не вызывается, не знаю, как это сделать, потому что эта страница отображается с помощью Razor @RenderPage () или это что-то, что я отсутствует здесь ??

Кто-нибудь может мне помочь с этим?

С наилучшими пожеланиями

...