我想要在同一页面上显示特定记录的详细信息,用户可以从产品名称列表中选择产品,只要用户单击链接具体产品的细节应显示在页面的另一端,即其他部分。我试图通过创建部分视图和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