这让我发疯了。我要做的就是将一个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
显然是错的我只是不知道如何以正确的方式称呼它。
答案 0 :(得分:2)
伙计,我有一个达尔文帮助我的类似问题。我需要在我的getJSON中添加$ .param。看看这篇文章MVC ListBox not passing data to Action
答案 1 :(得分:1)
尝试像这样改变你的方法
[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>