Страницы Razor - Доступ к значению переменной, связанной с представлением бритвы, после запроса ajax get на сервере - PullRequest
0 голосов
/ 17 мая 2019

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

    <script>

    $(function ()
    {
        GetStocksByUAP();
    });

    function GetStocksByUAP() {

        @{
            Model.Sector = "UAP1";
        }

        $.get('/dashboard/Index?handler=StocksBySector', function (response) {

                swal('OK', 'Dados carregados', 'success');
                console.log(response);



            });
    }

</script>

cs file

 [BindProperty]
    public string Sector { get; set; }


    public IndexModel(IConfiguration config)
    {
        _config = config;
    }

    public async Task<IActionResult> OnGetStocksBySectorAsync()
    {
        IDbConnection con = new SqlConnection(_config.GetConnectionString("DefaultConnection"));

        var result = await con.QueryAsync<DashboardViewModel>("GetStocksByUAP", new { UAP = Sector });

        return new JsonResult(result);
    }

Чтобы подвести итог, я пытаюсь использовать строку Sector, объявленную на странице, и получить доступ к ее значению, привязанному к представлению после запроса ajax get на сервере.Не уверен, что это возможно, хотя

1 Ответ

1 голос
/ 17 мая 2019

Если вы хотите обработать значение в обработчике, который вызывается запросом AJAX с использованием метода GET, вам необходимо передать значение обработчику.Вы можете сделать это как значение строки запроса или как значение данных маршрута, но в любом случае его необходимо передать в URL.

Если вы хотите связать значение со свойством PageModel, вы должны указать SupportsGet = true в атрибуте BindProperty:

[BindProperty(SupportsGet=true)]
public string Sector { get; set; }

Подробнее о том, как работает привязка модели в Razor Pages.здесь: https://www.learnrazorpages.com/razor-pages/model-binding#binding-data-from-get-requests

...