Asp.net mvc 3 为什么DataType.EmailAddress会自动转换链接?

Asp.net mvc 3 为什么DataType.EmailAddress会自动转换链接?,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我正在使用DataType.EmailAddress的模型。我想在运行时修改地址链接,但是它已经自动有电子邮件链接,阻止我修改 @{ var subject = ""; if (Model.Name.Length > 30) { subject = Model.Name.Substring(0, 30) + "..."; } else { subject = Model.Name; } } <a

我正在使用DataType.EmailAddress的模型。我想在运行时修改地址链接,但是它已经自动有电子邮件链接,阻止我修改

@{
    var subject = "";
    if (Model.Name.Length > 30)
    {
        subject = Model.Name.Substring(0, 30) + "...";
    }
    else
    {
        subject = Model.Name;
    }
}
<a href="mailto:@Html.DisplayFor(model => model.email)?subject=Re: @subject">model => model.email</a>
@{
var subject=“”;
如果(Model.Name.Length>30)
{
subject=Model.Name.Substring(0,30)+“…”;
}
其他的
{
subject=Model.Name;
}
}
但是我有

<a href="mailto:&lt;a href=&quot;mailto:emailaddress&quot;&gt;emailaddress&lt;/a&gt;?subject=Re: subject"><a href="mailto:emailaddress">emailaddress</a></a>

而不是

<a href="mailto:&lt;a href=&quot;mailto:emailaddress&quot;&gt;emailaddress&lt;/a&gt;?subject=Re: subject">emailaddress</a>


为什么电子邮件地址会自动转换为链接形式?如何阻止它?但我想保留数据类型以使用验证。

您正在尝试打印属性值:
@model.Email

DisplayFor
不是您想要的


另外,您需要对
主题
参数进行URL编码,包括
Re:
后面的空格

谢谢您的回答。正如我所预料的那样。只有一件事是编码的主题包含“+”作为空格的替换。有没有其他方式来显示空间的现状?