【问题标题】:Gather user-input data from several partial views从多个局部视图收集用户输入数据
【发布时间】:2019-08-28 21:03:46
【问题描述】:

我有复杂的数据模型:

public class ItemModel
{
    public Item BasicItem;
    public FoodItem FoodItem;
    public LocalItem LocalItem;
}

每个类都由基本字段(整数、字符串等)组成。我很难在一个视图中收集数据并将其绑定到模型 - 所以我决定将数据收集分解为 3 个部分视图,每个视图将收集一个自己的类相关部分,而主视图会将它们聚合到基本模型。

我认为将数据传输到部分的最佳方式 - 在这种情况下是 ViewData,但我不知道 - 在用户输入数据后如何上传数据到 ViewData?

【问题讨论】:

  • “上传数据”是什么意思?
  • @dedecos 基本上我想要一个表单或某种输入,它会在点击时将数据放入 ViewData 中,或者在用户输入某些内容后取消选择输入字段后
  • 我通常只是动态构建一个DataTable并添加列和行。然后很容易将表格绑定到视图对象。
  • @jdweng 你能用例子解释一下吗?在我的情况下,我只有 3 个带有连接类的表,这些表已经在代码的其他部分中使用,我只是试图同时填充它们,因为它们通过 PK 和 FK 建立关系
  • 决赛桌是什么样子的。要获得结果,您需要使用连接来组合 3 个类。然后连接的结果是一个二维表(行和列),您可以在最终视图中添加所需的列。在这个答案中,我创建了一个数据表:stackoverflow.com/questions/57116061/…

标签: c# asp.net-core


【解决方案1】:

当我为 3 个不同的类收集数据时,我只是将这个过程分成 3 个步骤,每个步骤都有自己的动作和视图,动作之间的数据在会话中保留并在最终动作中卸载和处理。

它看起来不太优雅,但它非常明确且有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多