У меня есть пользовательский модуль 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.
К сожалению, этого не происходит. Как мне исправить это?