我有一个这样的模型:
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
上添加项目,但我遇到了此类任务的多重问题。
我的第一个问题是,当我点击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
属性中?
我有searched我可以使用Html.ActionLink
或submit
按钮,我可以在控制器上查看点击了哪个按钮,但这里的问题再次是它将验证只需点击删除按钮即可。
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:0)
1)将AngularJs与ajax一起使用。 2)您可以使用角形式进行验证。 3)使用ng-repeat添加多个表单添加收件人点击。