Я попытаюсь объяснить это просто из-за того, что это немного сложно: я пытаюсь создать кошелек Blockchain, я успешно загрузил свое представление с помощью AccountController. Там у меня есть баланс кошелька, и все прекрасно работает.
Но иногда я хочу перевести деньги (= изменить баланс кошелька). Мой взгляд считывает баланс с помощью @Model, возвращенного из AccountController (класс Account).
Моя проблема заключается в обновлении@model. Из того, что я сделал - пока ничего не изменилось.
После публикации адреса получателя и денег для перевода обратно на сервер, прямо в другой контроллер с помощью jQuery (нажатием кнопки), мне нужно вернуть @Modelк представлению с обновленным балансом, который будет вызван прямо в элементы HTML, которые уже читают его. На сервере у меня уже есть экземпляр учетной записи с такими же данными.
Вот мой код:
HTML:
<label id="ETH-Value">@Model.AccountBalance ETH</label>
<table>
.....
<tr >
<td style="">
<input name="RecipientAmmountInput" type="number" required="required" id="RecipientAmmountInput" placeholder="Enter Ammount" min="0" max=@Model.AccountBalance>
</td>
<td ">
<a style="color:blue;" href="javascript:void(0);" onclick="SendMoneyTransaction()" id="nextButton"><strong>Next></strong></a>
</td>
</tr>
</table>
jQuery:
function SendMoneyTransaction()
{
var recipientAddress = $('#RecipientAddressInput').val();
var tranferValueETH = $('#RecipientAmmountInput').val();
.....
var url = "/SendDepositETH/SendMoney";
$.post(url, { AddressTo: recipientAddress, Amount: tranferValueETH }, function (data)
{
//The post is working
...
})
C # (сервер):
...
public class SendDepositETHController : Controller
{
[HttpPost]
public IActionResult SendMoney(String AddressTo, String Amount)
{
double amountToSend = Convert.ToDouble(Amount);
Account transferFrom = AccountController.myAccount;
transferFrom.AccountBalance = amountToSend; //for example
return View(transferFrom);
}
}
....