【发布时间】:2021-12-06 20:43:20
【问题描述】:
我有一个产品列表页面,其中包含一个没有主导航的产品列表
在View 链接单击上面的Product List 页面时,我可以导航到Overview 页面,正确传递所选产品ID,但是当我从主导航单击供应商链接时,我想传递相同的id 值作为供应商页面的概览页面,因为一旦我单击查看链接,所有内容都与所选产品有关。处理这个问题的最佳方法是什么?我尽量避免使用TempData 或Session。
_Navigation.cshtml 如下图所示
<nav id="navigation" class="main-navigation">
<ul id="nav_list" class="top-level-nav">
<li class="nav-item">
<a href="/" class="first-level-link">Overview</a>
</li>
<li class="nav-item">
<a asp-action="Index" asp-controller="Supplier" asp-area="Supplier">Suppliers</a>
</li>
</ul>
</nav>
概览操作
[HttpGet]
public async Task<IActionResult> Overview(int id)
{
var productInfo = await _productService.GetProductDetailsByID(id);
var productDTO = _mapper.Map<ProductOverview>(productInfo);
return View(productDTO);
}
产品概览视图模型
public class ProductOverview
{
public int ID { get; set; }
public string ProductCode { get; set; }
public string Type{ get; set; }
public string ProductName { get; set; }
}
供应商行动
[HttpGet]
public async Task<IActionResult> Index(int id)
{
var suppliers= await _suppliersService.GetAllSuppliers(3); //need help pass the selected productID
var suppliersDTO = _mapper.Map<Suppliers>(suppliers);
return View(suppliersDTO);
}
供应商视图模型
public class Supplier
{
public int ID { get; set; }
public int ProductID { get; set; }
public string SupplierName { get; set; }
}
【问题讨论】:
-
既然你展示了你应该展示的概述动作,那么概述视图。或显示导航动作、模型和类请
标签: asp.net asp.net-mvc asp.net-core