通过选择下拉列表ASP.NET Core MVC从数据库填充多个文本框

问题描述

我必须使用Ajax从数据库中获取多列数据。当我选择下拉列表时,该参数将在Ajax中传递给控制器​​以获取所有值并显示在不同的文本框中。 我只能获得1列,但不能获得所有列。 请帮我解决问题。我的示例代码如下。 谢谢

Ajax脚本

<script>
function getUploadedFile(Sle) {
    $.ajax({
        url: "/Privacy/GetUploadfileName",data: { "FileID": Sle.value },type: "Post",dataType: "text",success: function (data) {
            console.log(data);
            $("#uploadedFile1").val(data);                
        },error: function (data) {
            alert(data);
        }
    });
}
模型
public class Semester
{        
    public int SemesterNo { get; set; }
    public string SemesterId { get; set; }
}
public class Course
{        
    public int CourseID { get; set; }
    public string Title { get; set; }
    public int Credits { get; set; }
    public string SemesterNumber { get; set; }
}

控制器

    public IActionResult Privacy()
    {
        ViewBag.semester = new SelectList(_context.Semester,"SemesterNo","SemesterId");
        return View();
    }
    public IActionResult GetUploadfileName(string FileID)
    {
        //get the filename result accoding to ID
        var result = _context.Courses.Where(x => x.SemesterNumber == FileID).First();
        return Ok(result.CourseID);
    }

观看次数

@model MVCInsertDB.Models.Course
<form method="post" asp-controller="Privacy" asp-action="Privacy" role="form">
<div class="form-group">
    <label>Semester</label>

    @Html.DropDownListFor(model => model.SemesterNumber,ViewBag.semester as SelectList,"--Select Item--",new { id = "uploadedFile",@class = "js-select u-select--v1-select w-10",@onChange = "getUploadedFile(this)" })
</div>
<br />
<label>Course Id</label>
<input id="uploadedFile2" type="text" class="form-control" />
<br />
<label>Course Name</label>
<input id="uploadedFile3" type="text" class="form-control" />
<br />
<label>Course Credit</label>
<input id="uploadedFile4" type="text" class="form-control" />
</form>

enter image description here

解决方法

根据您的描述,建议您尝试直接从MVC控制器返回jsonresult并修改ajax以接收json响应。

更多详细信息,您可以参考以下代码:

Ajax:

        function getUploadedFile(Sle) {
            $.ajax({
                url: "/Home/GetUploadfileName",data: { "FileID" : Sle.value },type: "Post",contentType: 'application/x-www-form-urlencoded',dataType: 'json',success: function (data) {
                    $("#uploadedFile2").val(data.courseID);
                    $("#uploadedFile3").val(data.title);
                    $("#uploadedFile4").val(data.credits);
                },error: function (data) {
                    alert(data);
                }
            });
        }

控制器:

    public JsonResult GetUploadfileName(string FileID)
    {
        //get the filename result accoding to ID
        var result = _context.Courses.Where(x => x.SemesterNumber == FileID).First();
         return Json(result);
    }

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...