我想要在同一頁面上顯示特定記錄的詳細信息,用戶可以從產品名稱列表中選擇產品,只要用戶單擊鏈接具體產品的細節應顯示在頁面的另一端,即其他部分。我試圖通過創建部分視圖和Ajax,但細節不顯示在單獨的頁面上打開一個新的空白頁與Partialview的名稱和記錄顯示在那裏,但我想要在同一頁上的詳細信息.ProductName正在從數據庫,第一次加載頁面時,它必須包含默認情況下第一條記錄的詳細信息,即工作正常。請嘗試解決這個問題。由於部分視圖不在asp.net中的同一頁上呈現mvc
HomeController.cs
public class HomeComtroller:Controller
{
dbProductEntity Productdbentity=new dbProductEntity();
public ActionResult ProductDetails(int id)
{
var query=Productdbentity.tbl_product.First(c=>c.ProductId==id);
return PartialView("PartialView",query);
}
public ActionResult Product()
{
return View(dbentity.tbl_product.ToList());
}
PartialView.cshtml
@model MvcProject.Models.tbl_product
<label> @Model.ProductName </label>
<label> @Model.ProductDesc </label>
產品頁面
@model List<MvcProject.Models.tbl_product>
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
$(div.product a").click(function(e){
var url=this.ref;
$get(url,{},function(data) {
$('#product-detail').html(data);
});
});
});
</script>
</head>
<body>
<div class="product">
<ul class="list">
@foreach(var item in Model)
{
<li><a href="@Url.Action("ProductDetail","Home",new {id=item.ProductId})">
@item.ProductName</a></li>
}
</ul>
<div class="product-detail">
@{Html.RendererPartial("PartialView",Model.FirstOrDefault());}
</div>
</div>
</body>
</html>
謝謝你的回答,但它並沒有解決這個問題,它仍然重定向到/ home/PartialView/2,當我點擊鏈接以顯示產品細節.... – user2802591
確保你已經包括**此腳本之前,您的頁面**中的'jQuery.js'。還請檢查您的Web瀏覽器控制檯中的一些JavaScript錯誤。 –
是的,我已經包含了jquery-1.4.1.min.js和jquery-1.5.1.js,但我無法從這個問題出現的地方得到 – user2802591