mvc同步发布两个不同的对象

时间:2017-01-12 19:30:25

标签: asp.net-mvc

我有一个具有导航属性的模型,但我遇到的问题是,当我获取数据时,当我想编辑时,我可以自己加载导航属性。

这很好但是当我想提交数据时,导航属性会返回<div id="main-content" class="main-content"> <div class="content-box content-box-outer"> <div class="content-box-content"> <fieldset class="column-left"> <p> <label>Password</label> <input name="passwd" id="passwd" type="password" text="Password" value="" autocomplete="off" class=""> </p> <p> <label>Email</label> <input name="email" type="text" text="Email" value="" class=""> </p> </fieldset> <fieldset class="column-right"> <p> <label>Fax Number</label> <input name="fax" type="text" text="Fax Number" maxlength="64" value="" class=""> </p> </fieldset> </div> 。我找不到使用nav属性提交的方法。我的目标是我有一个模型,我也有一个导航属性。

我有两张桌子;一个名为null,另一个名为customer。到目前为止它似乎很好,但我的telephone表应该出现在同一页面上,因为当我想编辑或创建时,它们必须同步工作。如果我使用的是MVC,我不能把数据发送到服务器端,因为它有自己的函数叫做表单集合。

如何加载nav属性并在服务器端获取此数据?

1 个答案:

答案 0 :(得分:0)

即使你的问题有点不清楚,但这是我从中推断的 您说您正在尝试提交客户以及电话(导航属性)信息。为了实现这一目标,我们可以拥有一个包含这两个实体的ViewModel。所以你可能需要编写一个View Model,如下所示。

public class ViewModelName
{
   public Employee Emp {get; set;} // here Employee is your entity (Model)
   public Telephone Tel {get; set;} // here Telephone is your entity (Model)
} // Note I haven't tested the above piece of Code

然后在Create(Post and Get)方法中,您将发送或获取ViewModelName对象。这将发送两个实体数据,并将在提交时接收两个实体数据。

你还说 他们必须同步工作 我不知道你到底意味着什么但你可能需要使用Ajax如果你想看到一些实时在没有刷新页面的情况下进行更改。请分享您的代码,以便stackoverflow社区可以回答您的问题。