2010-09-24 53 views
0

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

EmailAddress的
EMAILID
的ContactID
EmailText

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

在创建视图,我有联系人姓名字段和一个按钮添加电子邮件地址。
当我点击添加电子邮件地址时,会弹出一个执行ajax请求来获取地址字段的弹出窗口。 我的问题是,我需要创建地址之前创建联系人,因为我需要一个ContactID第一。任何人都知道如何继续。


我使用asp.net MVC 2和Entity Framework 4

回答

0

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

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

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

+0

我在这里使用这个方法。谢谢你的帮助 – 2010-09-28 17:41:50

2

当你添加您的电子邮件,你submiting,为您的服务器?还是只是将该数据传回给父窗口(其中联系人姓名是),并将其置于名称之下,以便在提交之前可见?

另一种选择是,而不是打开一个弹出窗口,只是做了一些JS魔法,并显示正确的联系人名称下方的电子邮件字段(或只是有下联系人名称的选项文本框。

所以,你会看到:

Contact Name [......] 
(Add Email) + 

他们点击+和它老话:

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

在提交你有你的联系人姓名和电子邮件的一个不错的名单去用它创建您的联系和n创建你的电子邮件。 =

相关问题