1

助けが必要です、

シンプルにやります。多くの予定を持つオブジェクト Client があります。何かのようなもの:

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

同じページに予定がある新しいクライアントを作成する方法はありますか?

PS: 今のところ、partialview にクライアント 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 - 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 に答える