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

如何将无关联ArWoo表数据传递到Buchungen控制器的Create视图

问题根因

代码中Where()方法返回的是IQueryable<ArWoo>类型的查询集合,并非单个ArWoo实体对象,因此无法直接通过AR.Bestellnummer读取字段值。你在断点处看到的AR“已正确赋值”是EF Core延迟执行的特性,此时仅构造了查询表达式,还未实际从数据库加载实体数据。

修复方案

1. 调整控制器查询逻辑,取单个实体

使用FirstOrDefault()/SingleOrDefault()方法执行查询并获取匹配ID的单个实体,同时补充边界校验:

// GET: Buchungen/Create_AR
public IActionResult Create_AR(int? id)
{
    if (id == null)
    {
        return NotFound();
    }
    // 取匹配ID的单个实体,触发查询执行
    var AR = _context.ArWoo
        .FirstOrDefault(n => n.Id == id);
    if (AR == null)
    {
        return NotFound();
    }
    ViewData["Bestellnummer"] = AR.Bestellnummer;
    return View("Create");
}

2. 视图端绑定预填充值

如果你的Create视图是强类型绑定Buchungen模型,有两种可选实现方式:

  • 直接读取ViewData赋值给表单控件:
<input asp-for="Bestellnummer" value="@ViewData["Bestellnummer"]" />
  • 更推荐的类型安全写法:直接构造视图模型传递到视图,不需要依赖ViewData
    控制器代码调整:
// 构造Buchungen实体并赋值预填充字段
var buchung = new Buchungen()
{
    Bestellnummer = AR.Bestellnummer
};
// 将模型传入视图
return View("Create", buchung);

视图端直接用标签助手绑定即可自动渲染预填充值:

<input asp-for="Bestellnummer" />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:18:01