2016-02-12 96 views
1

我想從JSON類型數據解析值並將其顯示在文本框中。我已經設法通過json數據從控制器查看。但我無法在我的查看中的文本框中顯示它。我曾試圖表明使用警報價值,但它表明只有[對象] [對象]如何從JSON獲取價值並將其顯示在文本框中?

查看

<div class="form-group"> 
     @Html.LabelFor(model => model.StudentRegNo, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownListFor(model => model.StudentRegNo, new SelectList(ViewBag.StudentListForDDL, "Value", "Text"), "--SELECT--", new { @class = "form-control", @id = "studentReg" }) 
      @Html.ValidationMessageFor(model => model.StudentRegNo, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

    <div class="form-group"> 
     @Html.LabelFor(model => model.StudentName, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.TextBoxFor(model => model.StudentName, new { @class = "form-control", @id = "StudentName" }) 
     </div> 
    </div> 
@section Scripts { 
<script src="~/Scripts/jquery-2.2.0.js"></script> 
<script src="~/Scripts/jquery.validate.js"></script> 
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script> 
@*@Scripts.Render("~/bundles/jqueryval")*@ 
<script> 
    $(document).ready(function() { 
     $("#studentReg").change(function() { 
      var reg = $("#studentReg").val(); 
      var json = { studentReg: reg }; 
      $.ajax({ 
       type: "POST", 
       url: '@Url.Action("GetStudentByRegNo","Result")', 
       contentType: "application/json; charset=utf-8", 
       data: JSON.stringify(json), 
       success: function (data) { 
        //$.each(data, function (key, value) { 
        // //var name = value.StudentName; 
        // alert(key.StudentName); 
        //}); 
        alert(data); 
       } 
      }); 
     }); 
    }); 
</script>} 

控制器

public class ResultController : Controller { 
    private ResultManager objResultManager = new ResultManager(); 
    // GET: Result 
    public ActionResult ViewResult() { 
     var studentList = objResultManager.GetListOfStudents(); 
     List<SelectListItem> studetListItems = new List<SelectListItem>(); 
     foreach (Student objStudent in studentList) { 
      studetListItems.Add(new SelectListItem {Value = objStudent.StudentRegNo, Text = objStudent.StudentRegNo}); 
     } 
     ViewBag.StudentListForDDL = studetListItems; 
     return View(); 
    } 
    //GET Student By Registration Number 
    public JsonResult GetStudentByRegNo(string studentReg) { 
     Student objStudent = objResultManager.GetStudentByRegNo(studentReg); 
     return Json(objStudent,JsonRequestBehavior.AllowGet); 
    } 
} 

型號

public class Student { 
    public string StudentRegNo { get; set; } 
    public string StudentName { get; set; } 
    public string StudentEmail { get; set; } 
    public string StudentContactNo { get; set; } 
    public DateTime StudentRegDate { get; set; } 
    public string StudentAddress { get; set; } 
    public string Department { get; set; } 
} 

我在做什麼錯在這裏?

在此先感謝。

回答

1

如果一切正常,然後在你的控制器使用下面

public JsonResult GetStudentByRegNo(string studentReg) { 
      Student objStudent = objResultManager.GetStudentByRegNo(studentReg).FirstOrDefult(); 
      return Json(objStudent,JsonRequestBehavior.AllowGet); 
     } 

然後查看由

data.YourStudenPropertyName獲得價值

+0

我得到的所有數據** objStudent **對象。我只是不能在文本框中顯示StudentName屬性。 FirstOrDefault()給出錯誤。 – furiousNoob

+0

解決了它謝謝您的最新評論 ** data.YourStudenPropertyName ** – furiousNoob

相關問題