【发布时间】:2021-12-29 02:46:48
【问题描述】:
我有一个 cshtml 页面,ListZoneRecords.cshtml。在此页面中,当用户按下特定区域行时,其详细信息应显示在另一个页面中。我可以在 ajax 中执行此操作吗?
//ListZoneRecords.cshtml
<script>
$('#btn_sbmt_details').click(function () {
var id = $('#i_zone_id').val();
$.ajax({
url: "/ZoneModels/GetByKey",
data: { id: id},
type: "GET",
contentType: "application/json;charset=UTF-8",
dataType: "json",
})
});
</script>
当用户按下此按钮btn_sbmt_details时,它会调用控制器中的GetByKey方法。此方法搜索 id 并检索详细信息。现在我必须在另一个 cshtml 页面中显示详细信息 说ZoneDetails.cshtml。这可以使用ajax吗?
我的控制器方法::
public JsonResult GetByKey(int? id)
{ var data = (from z in db.ZoneModels
where z.ZoneId == id
select z).ToList();
return Json(data, JsonRequestBehavior.AllowGet);
}
或者,我必须按照MVC方法创建GetByKey方法的视图页面,然后执行return View(data);
public ActionResult GetByKey(int? id)
{ var data = (from z in db.ZoneModels
where z.ZoneId == id
select z).ToList();
return View(data);
}
【问题讨论】:
-
您可以返回视图并在同一屏幕上显示,但更好的方法是为
ZoneDetails.cshtml创建一个操作并通过 url 将id传递给该操作,然后简单地导航到该 url,例如/ZoneModels/ZoneDetails?id=1 -
@as-if-i-code 请你写详细信息...我理解这个概念但不知道该怎么做。谢谢!!!
-
请参考下面的答案
标签: jquery asp.net ajax asp.net-mvc asp.net-mvc-4