Forms 将必填字段作为下拉列表或创建新值的MVC表单
我有一个实体框架,代码优先,用于创建ToDo模型的MVC表单。 ToDo表单有一个下拉列表,用户必须在其中选择所需的客户端Forms 将必填字段作为下拉列表或创建新值的MVC表单,forms,model-view-controller,frameworks,modal-dialog,entity,Forms,Model View Controller,Frameworks,Modal Dialog,Entity,我有一个实体框架,代码优先,用于创建ToDo模型的MVC表单。 ToDo表单有一个下拉列表,用户必须在其中选择所需的客户端 public class ToDo { [Key] public int ToDoId {get;set;} [Required] public int ClientId {get;set;} public string TaskDescription {get;set;} } public class Client {
public class ToDo
{
[Key]
public int ToDoId {get;set;}
[Required]
public int ClientId {get;set;}
public string TaskDescription {get;set;}
}
public class Client
{
[Key]
public int ClientId {get;set;}
public string ClientName {get;set;}
public string AddressLine1 {get;set;}
public string AddressLine2 {get;set;}
}
我希望能够提供从同一屏幕添加新客户端的选项,而不会丢失可能已经输入的信息和ToDo信息
我已经尝试将当前票证数据发布到单独的操作中,并使用客户端表单将部分视图返回到模式。
但是在提交客户机表单时,因为传递给操作的数据也必须是ToDo模型(如果我想在返回时预填充ToDo表单)
ModelState仍在针对ToDo对象而不是客户端对象进行验证
很明显,我的做法是错误的,但是我在网上找不到关于我的场景的任何信息。一个典型的方法是使用弹出式表单,它生成一个ajax帖子来创建新记录,并在成功回调中,将选项添加到
元素中。谢谢。我不得不转到另一个项目,但下周应该可以再看一次。谢谢Stephen,你的建议和项目的休息让我完成了这项工作。我忽略了一件事,那就是我没有坚持只返回Json或只返回部分视图。事实上,我可以根据情况进行选择。如果客户端添加正确,我可以在关闭模型之前发送一个json对象,其中包含更新原始表单所需的任何信息。或者,如果帖子不起作用,我可以发回原始模型的部分视图,以便重试。