簡體   English   中英

如何在ASP.net MVC的同一頁面上顯示有關特定記錄的詳細信息

[英]How to display details about specific record on a same page in ASP.net MVC

我的觀點有兩個div,左邊的div包含所有可用的產品。 我想在右div的同一頁上顯示所選產品的詳細信息。 當我第一次加載頁面時,右div應該包含第一條記錄的詳細信息。 之后,當我單擊任何鏈接時,它應該更改詳細信息。 我是MVC和Entity Framework的新手。 我已經嘗試過,但是不知道。 如果要在單擊產品的超鏈接后在下一頁顯示詳細信息,可以執行此操作。 請嘗試解決我的問題。 謝謝!

Products.cshtml:

@model List<productList.Models.tbl_product>

<div class="product">
    <ul class="list">
        @foreach(var item in Model)
        {
            <li>
                <a href='@Url.Action("Product","Home",new {id = item.ProductId })'>
                     <span class="ProductName">@item.ProductName</span>
                </a>
            </li>
            </span></a>
</div>

<div class="productDetails">
    <ul class="listdetails">
        @foreach(var item in Model)
        {
            <li> 
                <span class="ProductName">@item.ProductName</span>
                <div class="ProductDesc">
                    @item.ProductDetails
                </div>
            </li>
        }

HomeController.cs:

public ActionResult Product()
{
    return View(dbentity.tbl_product.ToList());
}

使用RenderPartial進行第一次產品加載,然后使用jQuery ajax加載其他產品

加載第一個產品列表的控制器動作

public ActionResult Product()
{
  return View(dbentity.tbl_product.ToList());
}

PartialView.cshtml

@model Product

<label>Name:</label>@model.Name

在主視圖中

@model IList<Product>
<div class="product">
<ul class="list">
@foreach(var item in Model)
{
<li> <a href=@Url.Action("ProductDetail","Home",new {id=item.ProductId})'
<span class="ProductName"> @item.ProductName</span></a></li>    
}
</ul>
</div>

<div id="product-detail">
 @{Html.RenderPartial("PartialView", Model.FirstOrDefault());}
</div>

另外,您還需要采取其他措施來加載每種產品

public ActionResult ProductDetail(int id)
{
var model=products.Find(id);
return ("PartialView",model);
}

AJAX通話

$("div.product a").click(function(e){

  var url=this.href;
  $.get(url,{},function(data){
  $('#product-detail').html(data);
  });
  e.preventDefault();

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM