c# MVC 如何在视图中显示“结果”?

问题描述 投票:0回答:0

我的代码有问题。到了我需要在 ConvertCurrencies 视图中显示“结果”的地步。我该怎么做 ?服务器响应没有问题,'result' , 'currencyCodes' 等包含来自服务器的结果。部分代码如下:


private const string nbpApiUrl = RatesExchangeServices.exchangeratesUrl;

        //Akcja wyświetlająca widok
        public IActionResult ConvertCurrencies()
        {
            //Pobiera listę kodów walut z metody
            var currencyCodes = GetCurrencyCodes();
    
            //Stworzenie SelectList z kodami walut
            var currencyList = new SelectList(currencyCodes);
    
            //Przekazanie SelectList do widoku
            ViewBag.currencyList = currencyList;
    
            return View();
        }
        
        //Akcja przeliczająca waluty
        
        public async Task<ActionResult> Convertion(string fromCurrency, string toCurrency, decimal amount)
        {
            //Pobieramy kursy walut
            var exchangeRate1 = await GetExchangeRateFrom(fromCurrency);
            var exchangeRate2 = await GetExchangeRateTo(toCurrency);
    
            //Przeliczamy kwotę
            var result = amount * exchangeRate1[fromCurrency] / exchangeRate2[toCurrency];
    
            //Zwracamy wynik w widoku
    
            ViewBag.result = result;    
    
            return View();
        }

我的观点 ConvertCurrencies.cshtml 我想 id=result 应该告诉我结果,但事实并非如此。我应该在脚本中写什么(第一个大括号我有“结果”,如你所见),因为我想结果写错了。


@{
    ViewBag.Title = "Currency Converter";
}

<h2>Twój lokalny kantor walut</h2>

@using (Html.BeginForm("ConvertCurrencies", "currency", FormMethod.Post))
{
    <div>
        @Html.Label("Wymień z:")
        @Html.DropDownList("fromCurrency", (SelectList)ViewBag.currencyList, "Wybierz walutę")
    </div>
    <div>
        @Html.Label("Wymień do:")
        @Html.DropDownList("toCurrency", (SelectList)ViewBag.currencyList, "Wybierz walutę")
    </div>
    <div>
        @Html.Label("Ilość:")
        @Html.TextBox("amount")
    </div>
    <div>

        @Html.Label("Wynik konwersji:")
        <span id="result"></span>

    </div>
    <div>
        <input type="submit" value="Wymień" />
    </div>
}


@section Scripts {
    <script>
        $(function () {
            $("result").submit(function (e) {
                e.preventDefault();
                $.ajax({
                    url: this.action,
                    type: this.method,
                    data: $(this).serialize(),
                    success: function (result) {
                        $("#result").html(result);
                    }
                });
            });
        });
    </script>
}


我尝试了很多变体,但没有任何效果。

c# json .net model-view-controller view
© www.soinside.com 2019 - 2024. All rights reserved.