使用 ASP.NET Core 5 MVC 将 Json 结果转换为 HTML 形式

阿拉艾尔丁

我想在从下拉选择列表中选择 Id 时显示与特定卡相关的余额,并在 [在此处输入图像描述][1] 表单上的输入中显示余额值。

但是我得到的只是运行程序时的 JSON 结果。我的表格没有出现

控制器中的测试操作:

public IActionResult Test()
{
    var data = from als in ctx.TbIstanbulCards select new { als.IstanbulCardId, als.Balance };
    return Json(data.ToList());
}

Index图(试验)

@model VmIstanbul

@section Scripts{
    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>

    <script>
        $(document).ready(function () {
            var options = {};
            options.url = "/Customer?handler=SelectAll";
            options.type = "GET";
            options.dataType = "json";
            options.success = function (data) {
                data.forEach(function (element) {
                    $("#customerid").append("<option>
        "
        + element.IstanbulCardId + "
    </option > ");
            });
            };
            options.error = function () {
                $("#msg").html("Error while
    making Ajax call!");
        };
            $.ajax(options);
        });

        $("#customerid").change(function () {
            var options = {};
            options.url = "/Customer/" +
                $("#customerid").val() + "?handler=SelectByID";
            options.type = "GET";
            options.dataType = "json";
            options.success = function (data) {
                $("#companyname").val(data.Balance);
                //$("#contactname").val(data.contactName);
                //$("#country").val(data.country);
            };
            options.error = function () {
                $("#msg").html("Error while making Ajax call!");
            };
            $.ajax(options);
        });


</script>

}
<form id="myForm" asp-controller="Customer" asp-action="Test">
    <label for="departmentsDropdown"><b>Card</b></label>
    <select class="form-control" onchange="getValue()" id="departmentsDropdown" name="departmentsDropdown"></select><br />
    <input type="text" value="" id="show" />
</form>

结果看起来像这样

https://i.stack.imgur.com/sqDVl.png

mj1313

从您的代码中不清楚,因为 ajax url 是剃刀页面路由而不是 mvc。你启用它们吗?

此外,从您之前的帖子中,我看到视图名称是Test.cshtml,而Test操作返回 Json,因此当您访问 时/Custom/Test,您只会获得 Json 结果而不是视图。

如果使用 Test 动作来显示 html 视图,我认为它应该返回 View:

public IActionResult Test()
{
    return View();
}

更新:

有一个动作(测试)返回视图(Test.cshtml)。只是reutn View()没有任何数据,因为我没有看到您在视图中使用模型(VmIstanbul)值的任何地方。

public IActionResult Test()
{
    
    return View();
}

有另一个动作将数据返回给 ajax,给它一个名字,除了Test. 例如:

public IActionResult TestSelect()
{
    var data = from als in ctx.TbIstanbulCards select new { als.IstanbulCardId, als.Balance };
    return Json(data.ToList());
}

并将ajax url更改为 TestSelect

@section Scripts{
    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $.ajax({
                type: "GET",
                url: "/Customer/TestSelect",
                success: function (data) {
                    console.log(data);
                    var s = '<option value="-1">Please Select a Card id</option>';
                    for (var i = 0; i < data.length; i++) {
                        s += '<option value="' + data[i].balance + '">' + data[i].istanbulCardId + '</option>';
                    }
                    $("#departmentsDropdown").html(s);
                }
            })
        })

        function getValue() {
            var myVal = $("#departmentsDropdown").val();
            $("#show").val(myVal);
        }
    </script>
}

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在ASP.NET Core MVC中将XML转换为JSON

将MVC 5 adfs转换为.net core adfs

使用ASP.net MVC4将文本转换为HTML

如何使用 ASP.Net MVC 将变量转换为 JSON?

ASP.NET CORE 5 MVC 如何将绝对路径转换为相对路径?

在 ASP.Net Core MVC 5 中将音频转换为文本并将文本转换为音频

使用 AJAX 以 ASP.NET CORE 形式返回 JSON

ASP.Net MVC-无法将LINQ查询结果转换为ViewModel

ASP.NET MVC 5 @ Html.Raw无法使用▶

如何使用下拉列表将数据从视图发送到控制器 asp.net core 5 MVC

如何将Jquery与Asp.Net Mvc Core 2.2的html助手一起使用

在ASP.NET MVC 4中将列表<List <KeyValuePair <string,string >>>转换为json?

Ajax提交到asp.net mvc发布操作或将集合转换为json?

如何将tweepy搜索的结果转换为JSON形式

使用ASP.NET MVC将字符串转换为DataTable

在 ASP.net Core MVC 2 中使用 ASP.net MVC 5 脚手架

将EF Core与ASP.NET Core MVC和Sqlite结合使用-正确的类结构

在IIS上使用.NET Core运行ASP.NET 5(MVC 6)

如何在 asp .net MVC 5 中将对象结果模型转换为自定义视图模型

PageList无法将方法组'pagedlistpager'转换为ASP.NET Core MVC 2.1中的非委托类型

带有POST形式的ASP .NET MVC 5 + Bootstrap模态

将asp.net Webform转换为MVC

将.aspx网站转换为ASP.NET Core

在ASP.NET MVC中将HTML转换为PDF

ASP.NET Core MVC 可以同时使用@Html.DisplayFor 和@Html.EditorFor 吗?

将 JSON 字符串发送到 ASP.NET Core MVC 控制器

将-ASP.NET MVC 5 Web应用程序(Visual Studio 2017)转换为.exe设置文件

如何将这个ASP.NET Webforms示例转换为MVC5剃须刀兼容的?

如何以ASP形式在MVC Core上使用datepicker