我最近收到了客户的请求,要求他们创建一种方法,允许他们直接通过管理员帐户向已完成表单的内容发送电子邮件。
Controller:
[HttpGet]
public ActionResult ThisView() {
thisModel model = new thisModel();
emailAddress = model.EmailAddress
return Content('<a href="mailto:"model.emailAddress"', "text/html")
}
View:
<div class="form-group">
<div class="col-sm-2 raw-value"><span class="WebsiteContent" data-ControlID="divPOC_Email" data-Component="11"></span></div>
<div class="col-sm-5">
@Html.TextBoxFor(m => m.EmailAddress, new { @class = "form-control", @placeholder = "sample@email.com", maxlength = 100 })
@Html.ValidationMessageFor(m => m.EmailAddress)
</div>
<div class="col-sm-10 col-sm-offset-2 col-xs-12 field-validation-error userErrorMessage hidden" data-valmsg="user">Required</div>
</div>
正在从用户输入中检索数据,并返回到已完成表单的管理员视图。请求是将电子邮件地址作为可点击链接传递,以允许他们直接通过表单向用户发送电子邮件。是否可以将模型数据作为包含现有数据的原始HTML字符串直接传递给视图?
答案 0 :(得分:1)
你的问题非常不清楚。看起来你可能在这里使用子操作,但即使这样也没有用。
如果您想在模型上显示值作为链接,则只需使用Html.DisplayFor
:
@Html.DisplayFor(m => m.EmailAddress)
电子邮件地址的默认显示模板是将其包装在链接中。当然,我们假设您使用EmailAddress
和/或[EmailAddress]
修饰了[DataType(DataType.EmailAddress)]
媒体资源。