繁体   English   中英

将对象从Controller传递给JavaScript JQuery

[英]Passing Object From Controller to JavaScript JQuery

这真让我抓狂。 我要做的就是将一个Id传递给一个正在运行的ActionMethod并将一个Object返回给javascript。 然后在javascript中,我希望能够说出像.Objec.Property,即/ Student.Name或Student.GPA这样的内容。

任何帮助表示赞赏。 我试过json,但也无法让它工作。

的ActionResult:

[AcceptVerbs(HttpVerbs.Get)]
public Epic GetEpicPropertyDetails(int id)
{  
   var Epictemplist = epicRepository.Select().Where(x => x.Id.Equals(id));
   return Epictemplist.SingleOrDefault();
}

JavaScript的:

<script type="text/javascript">
   $(document).ready(function () {
     $(".ListBoxClass").click(function (event) {
       var selectedid = $(this).find("option:selected").val();
       event.preventDefault();
       $.get("/Estimate/GetEpicPropertyDetails", { id: selectedid }, function (result) {
         $(".TimeClass").val(result);
       });
     });
   });
</script>

result.Name显然是错的我只是不知道如何以正确的方式调用它。

Tman,我有一个Darin帮助我的类似问题。 我需要在我的getJSON中添加$ .param。 看看这篇文章MVC ListBox没有将数据传递给Action

尝试改变你的方法

[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetEpicPropertyDetails(int id)
{  
  var Epictemplist = epicRepository.Select().Where(x => x.Id.Equals(id)).SingleOrDefault();
  return Json(Epictemplist, JsonRequestBehavior.AllowGet);
}

比你的JS

<script type="text/javascript">
$(document).ready(function () {
  $(".ListBoxClass").click(function (event) {
    var selectedid = $(this).find("option:selected").val();
    event.preventDefault();
    $.get("/Estimate/GetEpicPropertyDetails", { id: selectedid }, function (result) {
      $(".TimeClass").val(result.Name);
    }, 'json');
  });
});
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM