我有一个带有Client
s的设置User
。
简单地说,Client
只是有一个
[Required]
public string Name { get; set; }
并且User
具有 - 在它的属性中 - 一个
[Required]
public virtual Client Client { get; set; }
在创建User
s时,User
s是在特定Client
s下创建的(显然)
所以:在我的User
创建页面中,我将Client
Id 放入 Viewbag 中,以便我可以将它与User
我的创建控制器一起发送。
我遇到的第一个问题Modelstate.IsValid
是false
- 这是因为创建Client
的User
模型没有Name
所需的。快速修复:同时输入名称并返回它。
这通过了验证,我可以Client
在代码中正确检索并将其分配给我User
并保存新的User
yada yada ...
我敢肯定这不是一种奇怪的一次性风格设置。必须有一种“正确”的方式来做到这一点,而不是我目前正在做的捏造。
1)我怎样才能“正确”提供/保留Client
我想要分配新User
的?
2)如果上述方法不可行,最好的方法是什么?我目前将 存储Client.Id
在该User.Client.Id
字段中,并且缺少 using ,它完全从绑定[Bind(Exclude="Client")]
中删除了,我不确定如何传递数据并对其进行验证。Client
User
Client
谢谢你。