私はこのようなモデルを持っています:
public class RecipientModel
{
public int RecipientID { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email Address")]
public string EmailAddress { get; set; }
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Display(Name = "Active?")]
public bool Status { get; set; }
[Required]
[Display(Name = "Notifications")]
public RecipientNotificationModel[] RecipientNotifications { get; set; }
}
public class RecipientNotificationModel
{
[Required]
[Display(Name = "Notification Type")]
public int NotificationTypeID { get; set; }
[Display(Name = "Notification Group")]
public int NotificationGroupID { get; set; }
[Required]
[Display(Name = "Notification Category")]
public int NotificationCategoryID { get; set; }
}
そして、私がやろうとしていることは、次のようなものです:
アイデアは、アイテムを追加したいということですが、RecipientModel.RecipientNotifications
そのようなタスクには複数の問題があります。
問題 1 - 送信時のフォーム検証
Add Notification
私の最初の問題は、ボタンをクリックしたときにフォームが検証されることです。Add Recipient
ボタンがクリックされたときにのみ検証する必要があります。ビューは次のようなものです。
@using (Html.BeginForm()) {
// .... recipient fields
// Add Notification button
// .... notification list
// Add Recipient button
}
Add Notification
ボタンを非送信ボタンに変更し、 js を使用して、次のような非表示のモーダル HTML ポップアップを表示することを考えました。
<div id="addNotification" style="display:none">
@using (Html.BeginForm()) {
// ... notification fields
}
</div>
しかし、そのフォームの値を取得して現在のモデルのRecipientNotifications
プロパティに追加するにはどうすればよいでしょうか?
問題 2 - 通知の削除
使用できるボタン、またはコントローラーでどのボタンがクリックされたかを確認できるボタンを検索しましたが、ここでも問題は、削除ボタンをクリックするだけでフォームが検証されることです。Html.ActionLink
submit
どんな助けでも大歓迎です。前もって感謝します。