Как сохранить асинхронный ответ в текстовом поле управления пользователями ASP.NET? - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть пользовательский модуль DNN 9, который я настраиваю с новым платежным шлюзом. Мне нужно хранить результаты асинхронных вызовов API в TextBox, который является частью пользовательского элемента управления (.ascx), и записывать значение в базу данных.

Мой асинхронный запрос выглядит следующим образом:

private static async Task<string> HostedTransactionResponse()
    {
        var credentials = GetCredentials();
        TransactionResult_ProPay result = new TransactionResult_ProPay();
        HttpClient client = new HttpClient();
        HttpRequestMessage request = new HttpRequestMessage();
        HttpResponseMessage response = new HttpResponseMessage();
        GatewaySetting_ProPay gatewaySetting = new GatewaySetting_ProPay();
        CreateHostedTransactionRequest transactionRequest = new CreateHostedTransactionRequest();
        CreateHostedTransactionResponse transactionResponse = new CreateHostedTransactionResponse();
        HttpContent content = new StringContent(transactionRequest.ToString());
        try
        {
            request.Headers.Add("Authorizatoin", credentials);
            response = await client.PutAsync(gatewaySetting.TestUrl, content);
        }
        catch (HttpException ex)
        {
            result.Succeeded = false;
            result.ResultMessage = ex.Message;
        }

        return response.Content.ToString();
    }

Часть моего пользовательского кода управления состоит из:

objItem.R_ProPay_Enable = chkR_ProPay_Enable.Checked;
objItem.R_ProPay_Id = txtR_ProPay_Id.Text;

UserController.Update(objItem);

Когда я нажимаю кнопку «Обновить» в пользовательском интерфейсе, я намереваюсь получить идентификатор плательщика и вернуть его на сайт, записать в соответствующее поле базы данных, а также оценить в свойстве txtR.ProPay_Id.Text.

К сожалению, этого не происходит. Как мне исправить это?

...