Asp.net mvc 2 在asp.NETMVC2中。在“创建”视图中添加新的关系记录

Asp.net mvc 2 在asp.NETMVC2中。在“创建”视图中添加新的关系记录,asp.net-mvc-2,entity-framework-4,Asp.net Mvc 2,Entity Framework 4,这是我的数据库设计 联系 联系人ID 联系人姓名 电子邮件地址 EmailID 联系人ID EmailText 在创建视图中,我有ContactName字段和添加电子邮件地址按钮当我单击添加电子邮件地址时,会出现一个弹出窗口,执行ajax请求以获取地址字段。 我的问题是,我需要在创建地址之前创建联系人,因为我首先需要联系人ID。有人知道怎么做吗 我使用asp.net MVC 2和Entity Framework 4添加电子邮件时,是否将其提交到服务器?或者您只是将该数据传递回父窗口(联系人

这是我的数据库设计
联系
联系人ID
联系人姓名

电子邮件地址
EmailID
联系人ID
EmailText

在创建视图中,我有ContactName字段和添加电子邮件地址按钮
当我单击添加电子邮件地址时,会出现一个弹出窗口,执行ajax请求以获取地址字段。 我的问题是,我需要在创建地址之前创建联系人,因为我首先需要联系人ID。有人知道怎么做吗



我使用asp.net MVC 2和Entity Framework 4添加电子邮件时,是否将其提交到服务器?或者您只是将该数据传递回父窗口(联系人姓名所在),并将其置于名称下,以便在提交之前可见

另一个选项是,不要打开弹出窗口,只需做一些JS魔术,并在联系人姓名下方显示一个电子邮件字段(或者在联系人姓名下方有一个选项文本框)

所以你会看到:

Contact Name [......]
(Add Email) +
他们点击+按钮,它就会出现:

Contact Name [.......]
Email 1:  [.......]  (remove x)
(Add Email) +

提交时,你会有你的联系人姓名和一个很好的电子邮件列表。创建你的联系人,然后创建你的电子邮件。=

我的代码有点复杂,但非常类似。我要做的是在对话框关闭时创建并编写带有空白联系人ID的电子邮件条目。然后,当我提交我的联系人表单时,我有带有EmailID的字段。在我的联系人保存操作中,我会检查电子邮件记录,如果contactID字段为空,我会插入contactID并保存电子邮件记录。我使用相同的局部视图创建和编辑,因此,如果它正在编辑现有电子邮件或向现有联系人添加新电子邮件,则contactID字段已填充

在这种简单的情况下,当用户关闭对话框以将信息保存到父窗体上的隐藏字段(如果您不希望显示这些信息,如果您确实希望显示这些信息,则Ryan的建议是最好的),然后在联系人提交上创建并保存这两个记录时,可能会更有意义


如果这是一个“创建”,那么我真的不明白为什么需要AJAX请求来获取值…

我在这里使用这个方法。感谢您的帮助