Страницы Razor, обнаружение изменений текста в текстовом просмотре - PullRequest
0 голосов
/ 19 июня 2020

У меня есть страница бритвы, где пользователь может выбрать некоторые параметры из раскрывающегося списка и затем ввести какое-то значение. См. Прикрепленное изображение

image

@page
@model CurrencyConverter.Pages.ConvertModel
@{
    ViewData["Title"] = "Convert";
}



<div>
    @if (!string.IsNullOrEmpty(Model.ResultInfo))
    {
        <p>@Model.ResultInfo</p>
    }



</div>

<form method="post">
    <div>
        @Html.DropDownListFor(m => m.CurencyModel.FirstCurrency, new SelectList(Model.Options, "Value", "Text"), "Select currency", new { @class = "css-class" })

        <input asp-for="CurencyModel.TotalAmountFirstCurrency" />
    </div>
    <div>
        @Html.DropDownListFor(m => m.CurencyModel.SecondCurrency, new SelectList(Model.Options, "Value", "Text"), "Select currency", new { @class = "css-class" })
        <input asp-for="CurencyModel.TotalAmounSecondCurrency" />
    </div>
    <div>
        <button type="submit" asp-page-handler="FirstCurrency">Submit first currency</button>
        <button type="submit" asp-page-handler="SecondCurrency">Submit second currency</button>
    </div>
</form>
файл cs html .cs выглядит так

publi c class ConvertModel: PageModel {

[TempData]
public string ResultInfo { get; set; }

[BindProperty]
public CurrencyModel CurencyModel { get; set; }

[BindProperty]
public IEnumerable<SelectListItem> Options
{
    get; set;
}


public ConvertModel()
{
    //initalization
}
public async Task<IActionResult> OnPostFirstCurrency()
{
    if(!ModelState.IsValid)
    {
        return Page();
    }
    //given first currency calculate the second from the first using some formula
    
         
}

public async Task<IActionResult> OnPostSecondCurency()
{
    if (!ModelState.IsValid)
    {
        return Page();
    }
    //given second currency calculate the second from the first using some formula
}

}

то, что я хочу достичь, находится в

<div>
@Html.DropDownListFor(m => m.CurencyModel.SecondCurrency, new SelectList(Model.Options, "Value", "Text"), "Select currency", new { @class = "css-class" })
<input asp-for="CurencyModel.TotalAmounSecondCurrency" onchanged=asp-page-handler="FirstCurrency"/>
Но это кажется невозможным с использованием только чистой бритвы и синтаксиса c#.
...