You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在React+ASP.NET Core项目中实现下拉框显示产品名称而非ProductId

实现下拉菜单显示产品名称的解决方案

一、后端(.NET Core 控制器)调整

要让前端能拿到产品名称,首先得在后端查询销售数据时,关联加载对应的产品信息:

  1. 引入EF Core关联查询命名空间
    在控制器文件顶部添加:
using Microsoft.EntityFrameworkCore;
  1. 修改GetSales方法,加载Product导航属性
    原来的代码只查了Sales表,没带关联的Product数据,用Include方法把Product表的数据一起查出来:
[HttpGet]
[Route("GetSales")]
public IActionResult GetSales()
{
    using NavbaseContext db = new NavbaseContext();
    List<Sale> saleList = db.Sales.Include(s => s.Product).ToList();
    return Ok(saleList);
}

确认你的Product模型类里有产品名字段(比如ProductName或Name),这是前端要显示的内容。

二、前端(React组件)修改

后端返回的数据里现在每个Sale对象都带了Product属性,直接用这个属性里的名称替换原来的ProductId就行:

修改下拉菜单的渲染代码:

{                            
    sales.map((item) => (
        <option key={item.id} value={item.productId}>
            {item.Product?.ProductName ?? "未知产品"}
        </option>
    ))
}

说明:

  • 加key={item.id}是React列表渲染的必填项,避免控制台警告
  • ?.是可选链操作符,防止Product为空时触发报错
  • ?? "未知产品"是为空时的默认显示文本,避免空白

内容的提问来源于stack exchange,提问作者Yugraaj Sandhu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:30:59