传递来自控制器的Html内容返回中的模型数据

时间:2017-02-10 14:30:03

标签: html asp.net-mvc asp.net-mvc-4 razorengine

我最近收到了客户的请求,要求他们创建一种方法,允许他们直接通过管理员帐户向已完成表单的内容发送电子邮件。

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字符串直接传递给视图?

1 个答案:

答案 0 :(得分:1)

你的问题非常不清楚。看起来你可能在这里使用子操作,但即使这样也没有用。

如果您想在模型上显示作为链接,则只需使用Html.DisplayFor

@Html.DisplayFor(m => m.EmailAddress)

电子邮件地址的默认显示模板是将其包装在链接中。当然,我们假设您使用EmailAddress和/或[EmailAddress]修饰了[DataType(DataType.EmailAddress)]媒体资源。