我创建了一个 ContactUs 模块,当用户单击提交按钮时发送电子邮件。
一切都很完美。但是,我很好奇是否可以返回强类型模型而不是动态类。
例如,下面是我的 Drivers\ContactUsDriver.cs 显示函数:
protected override DriverResult Display(ContactUsPart part, string displayType, dynamic shapeHelper)
{
return ContentShape("Parts_ContactUs",
() => shapeHelper.Parts_ContactUs(
Name: part.Name));
}
如您所见,上面返回的是动态 Parts_ContactUs。
现在,这是我的 Views\Parts\ContactUs.cshtml 的快照:
@model dynamic
@using (Html.BeginForm("Send", "ContactUs", new { area = "ContactUs" }, FormMethod.Post))
{
<fieldset>
<legend>Contact Us</legend>
<div id="contact-us" class="area">
@Html.TextBox("Name", "")
</div>
<div id="submitArea" class="button">
<input type="submit" value="Submit Message">
</div>
</fieldset>
}
正如您在上面看到的,视图绑定到@model 动态。结果,我必须执行以下操作
@Html.TextBox("Name", "")
有没有一种方法可以绑定到 Model 说 ContactUsModel 并因此执行以下操作?
@Html.TextBoxFor(m => m.Name)
特别是,我很感兴趣,所以我可以用 DataAnnotation 属性编写一个 jquery 验证。