1

我需要一些帮助,

我会简单的做。我有一个有很多约会的对象客户。就像是:

public partial class Client
{ 
    ...
    public virtual IList<Appointment> Appointments{ get; set; }
}

有没有办法在 asp 中创建一个在同一页面中有约会的新客户?

PS:现在,我可以通过将客户 ID 传递给部分视图并使用 ajax 和部分视图来向现有客户添加约会。但是,新客户还没有 ID。我该怎么办?

更新:精度

这是我在编辑视图中的内容:

<p>
@Ajax.ActionLink("NewMeeting", "NewAppointmentFrm", new { clientId = Model.Id }, new AjaxOptions { UpdateTargetId = "appointmentPopup", OnSuccess = "displayFormInPopup('#appointmentPopup','" + "NewMeeting") + "',600,'auto');" })
</p>
<div style="display:none;width:600px" id="appointmentPopup"></div>

在控制器中我有

Appointment appointment = new Appointment()
        {
            Client = GetClientById(clientId)
        };

return PartialView("NewAppointmentFrm", appointment);

通过提交 PartialView (NewAppointmentFrm - Appointments Details),我可以:

public ActionResult CreateClientAppointment(int clientId, Appointment appointment)
{
    var client = GetClientById(clientId);
    client.Appointments.add(appointment)
    SaveClient(client);
    return RedirectToAction("Edit", new { id = candidateId });
}

谢谢你的帮助

4

1 回答 1

1

MVC4 考虑的模式是每个模型都在自己的页面中。如果要添加新模型,请在单独的页面中完成。或多或少如下所示: http ://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-5

如果你试图偏离这种模式,那真的很痛苦。所以,我建议将客户端放在一个视图中,并在一个单独的视图中添加一个约会,然后让 MVC 完成剩下的工作。

于 2013-08-29T14:10:03.990 回答