我需要一些帮助,
我会干脆做的。我有一个对象Client,有很多约会。喜欢的东西:
public partial class Client
{
...
public virtual IList<Appointment> Appointments{ get; set; }
}
在asp中是否有办法在同一页面中创建一个约会的新客户?
P.S:现在,我可以通过将部分视图传递给客户端ID并使用ajax和partialView来向现有客户添加约会。但是,新客户没有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 - 约会详情),我这样做:
public ActionResult CreateClientAppointment(int clientId, Appointment appointment)
{
var client = GetClientById(clientId);
client.Appointments.add(appointment)
SaveClient(client);
return RedirectToAction("Edit", new { id = candidateId });
}
感谢您的帮助
答案 0 :(得分:1)
MVC4的模式是每个模型都在自己的页面中。 如果要在单独的页面中添加新模型。 或多或少如此处所示: http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-5
如果你试图偏离这种模式,这真的很痛苦。 所以,我建议将客户端放在视图中,并在单独的视图中添加约会 让MVC完成剩下的工作。