问题描述
我必须使用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>
解决方法
根据您的描述,建议您尝试直接从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);
}