予定繰り返しポップアップのフィールドの入力が完了したら、予定ビューの非表示フィールドに適切なデータを書き込み、最後にすべてのフィールド (ポップアップから移行されたフィールドを含む) を送信する必要があります。
編集:
メインフォーム:
<form id="mainForm" action="/MyController/MyAction" method="POST">
<input type="text" name="Firstname"/>
<input type="text" name="Lastname"/>
<input type="hidden" name="popupData" id="popupData"/>
<input type="button" value="save" onclick="SavePopupData();"/>
</form>
部分的なポップアップ:
<form id="popupForm" method="POST">
<input type="text" name="Firstname"/>
<input type="text" name="Lastname"/>
<input type="button" value="save" onclick="SavePopupData();"/>
</form>
<script type="text/javascript">
function SavePopupData() {
//Close popup
$('#popupData').val($('#popupForm').serialize());
}
</script>
MyController で:
public ActionResult MyAction(MainFormModel mainFormModel, string popupData)
{
var popupModelData = new PopupModel();
UpdateModel(popupModelData, ConvertToFormCollection(popupData));
}
private FormCollection ConvertToFormCollection(string formData)
{
var collection = new FormCollection();
var keyValues = formData.Split('&');
foreach (var keyValue in keyValues)
{
var res = keyValue.Split('=');
collection.Add(res[0], res[1]);
}
return collection;
}