Пользовательская форма на внутренней странице сайта не работает - PullRequest
0 голосов
/ 02 марта 2020

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

@using (Html.BeginForm("DownloadAdvertClicksReport", "Reports", FormMethod.Post))
{
    <div class="form-group">
        @Html.LabelFor(m => m.From, new { @class = "sixteenpx" })
        @Html.TextBoxFor(m => m.From, null, new { @class = "form-control datepicker sixteenpx" })
    </div>
    <div class="form-group">
        @Html.LabelFor(m => m.To, new { @class = "sixteenpx" })
        @Html.TextBoxFor(m => m.To, null, new { @class = "form-control datepicker sixteenpx" })
    </div>

    <div class="form-group">
        @Html.LabelFor(m => m.Advert, new { @class = "sixteenpx" })
        @Html.DropDownListFor(m => m.Advert, (IEnumerable<SelectListItem>)Model.PublishedAdverts, new { @class = "form-control sixteenpx border-0" })

    </div>

    <button type="submit" id="download" class="btn btn-primary sixteenpx">Download report</button>

}

[HttpPost]
    public ActionResult DownloadAdvertClicksReport(AdvertClicksViewModel viewModel)
    {

        return Content(string.Empty);
    }

1 Ответ

1 голос
/ 03 марта 2020

Внутренние страницы - это asp. net страницы веб-форм, поэтому они уже имеют элемент формы вверху.

При этом вы в основном пытаетесь вложить формы, что невозможно .

Вот почему для подобных случаев вам нужно использовать вспомогательный метод @ Html .BeginFormSitefinity.

Пример его использования: https://github.com/Sitefinity/feather-widgets/blob/master/Telerik.Sitefinity.Frontend.Identity/Mvc/Views/LoginForm/LoginForm.LoginForm.cshtml

...