我有一个视图中的这样的表
<table class='sendemailtable'>
@if (!string.IsNullOrEmpty(Model.CustomerName))
{
<tr>
<td style="font-size: 26px;">
@Html.Label(string.Empty, Model.CustomerName)
</td>
</tr>
}
<tr><td style="padding-top: 15px;">To:</td></tr>
<tr>
<td>
@Html.TextBoxFor(m => m.EmailTo)
@Html.ValidationMessageFor(m => m.EmailTo);
</td>
</tr>
<tr><td style="padding-top: 15px;">Subject:</td></tr>
<tr>
<td style="font-size: 22px;">
@Html.TextBoxFor(m => m.EmailBody)
</td>
</tr>
few more
<button style="..." type="submit">SEND</button>
</table>
这些并不是模型中的所有项目,它还有一些在ui中不存在的id,并且具有仅有getter的属性。
public int OfferID;
public int SomeOfferID;
public int CustomerID;
#region Email
[Required]
[DataType(DataType.EmailAddress)]
[RegularExpression(@"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}", ErrorMessage = "Incorrect email")]
public string EmailTo;
private string emailBodyDefault;
public string EmailBody
{
get
{
if (string.IsNullOrEmpty(emailBodyDefault))
emailBodyDefault = string.Format("Hi,{1}please take a look. Offer ID: {0}{1}{1}Thanks", SomeOfferID, Environment.NewLine);
return emailBodyDefault;
}
set { emailBodyDefault = value; }
}
private string emailSubject;
[Required]
public string EmailSubject
{
get
{
if (string.IsNullOrEmpty(emailSubject))
emailSubject = string.Format("Offer ID: {0}", SomeOfferID);
return emailSubject;
}
set { emailSubject = value; }
}
#endregion
我想将完整的模型传递给控制器,以便能够从控制器的操作中发送电子邮件。还需要在用户单击发送时验证用户的电子邮件和非空主题。我应该如何做?