Изменение свойства PageModel без использования обработчика в Razor Pages - PullRequest
0 голосов
/ 09 февраля 2019

Я разрабатываю веб-приложение с использованием Asp.Net Core Razor Pages. На модели страницы у меня есть следующее свойство:

    public class SchoolModel : PageModel
{
    [BindProperty]
    public School SchoolEdit { get; set; }

Я хочу изменить свойство Logo SchoolEdit (изтипа Школа), когда я нажимаю кнопку в форме, не опубликовав форму. Как мне это сделать?Вот код бритвенной страницы:

@if (Model.SchoolEdit.Logo != null)
   {
      <button class="btn btn-danger" asp-page-handler="RemovePhoto">
       <span aria-hidden="true">&times;</span>
      </button>                      
   }

Позже я определил следующий Ajax, чтобы изменить свойство при нажатии кнопки, но OnPostRemovePhoto не ударил!

@section Scripts {
<script>
    $(function () {
        $("#Click").click(function () {
            $.ajax({
                type: "POST",
                url: "./School?handler=RemovePhoto",
                error: function (response) {
                    alert('hi');
                },
                success: function (response) {
                    alert('error');
                }
            });
        });
    })
</script>

1 Ответ

0 голосов
/ 10 февраля 2019

Благодаря той же ветке на Asp.Net я разобрался в проблеме.Токен защиты от подделки отсутствовал. Метод AJAX ниже устанавливает токен в заголовке. Вот ответ:

...