如何在ASP.NETMVC3中使用Razor设置电子邮件超链接的样式以显示?

如何在ASP.NETMVC3中使用Razor设置电子邮件超链接的样式以显示?,asp.net,asp.net-mvc-3,email,razor,hyperlink,Asp.net,Asp.net Mvc 3,Email,Razor,Hyperlink,HTML在MVC 3视图中正常工作-除了显示不可见-白色背景上的白色文本,如果我将鼠标悬停在上面,我会看到“显示”的电子邮件地址没有下划线 所以,我试着把乔治的答案改编成 `@helper电子邮件文本框(字符串电子邮件,字符串标题){ } 及 @EmailTextBox(“name@domain.com", "name@domain.com“”(都在视图中) 这也可以工作-生成一封电子邮件,电子邮件地址像普通的HTML电子邮件超链接一样预先填充-除了显示仍然不可见-白色背景上的白色文本,如果我

HTML
在MVC 3视图中正常工作-除了显示不可见-白色背景上的白色文本,如果我将鼠标悬停在上面,我会看到“显示”的电子邮件地址没有下划线

所以,我试着把乔治的答案改编成

`@helper电子邮件文本框(字符串电子邮件,字符串标题){
}

@EmailTextBox(“name@domain.com", "name@domain.com“”
(都在视图中)

这也可以工作-生成一封电子邮件,电子邮件地址像普通的HTML电子邮件超链接一样预先填充-除了显示仍然不可见-白色背景上的白色文本,如果我将鼠标移到上面,我看到它也没有下划线

将样式应用于包含标记无效


那么,如何应用样式来获取要显示的电子邮件地址(或者是否有其他方法)?

听起来像是css问题,请尝试查看应用于此标记的样式(右键单击->检查Chrome中的元素,Firefox带有firebug扩展名,等等)

您始终可以使用以下内容替代正在应用的样式:

<style>
  a {
    color : black !important;
  }
</style>

a{
颜色:黑色!重要;
}
但最好首先找出是什么规则导致了这种颜色


编辑 我没有在MVC中使用razor视图引擎,请始终记住这是在发出html,您可以在html中执行的任何操作都应该是可以实现的。充分利用Firebug或类似工具查看您正在生成的html

如果你做不到,我会非常惊讶

`@helper EmailTextBox(string email, string title) {
    <a class="email" href="mailto:@email">@title</a>    
    }
`@helper电子邮件文本框(字符串电子邮件,字符串标题){
}
然后


a、 电子邮件{颜色:黑色;}

但听起来你真的应该把链接变白的规则限制得更窄。

我不得不相信这是一个CSS问题。您是否已选中
a:link
a:visted
a:hover
a:active
?你和Firebug一起看了吗?对不起-罗伯特-现在才注意到你的回答。是的,你和大卫都是对的。正如我在回复David时提到的,我已经注释掉了标准的默认锚样式,因为它们最初似乎覆盖了我的导航样式-但是恢复它们现在并没有覆盖导航样式,并且电子邮件链接再次正常显示。很抱歉将您的时间浪费在如此琐碎的事情上,但我无法单独设置电子邮件链接的样式来强制显示它。谢谢你的时间和帮助!Thanx Davidies,我后来意识到,使导航变为白色的样式(因为位于蓝色选项卡背景上)在某种程度上影响了任何具有链接属性的内容,包括电子邮件链接和页面中的正常超链接(虽然样式应该仅限于导航元素-并且在MVC世界之外)。我在创建样式方面没有问题(正如您在回复中所建议的那样)-事实上,整个导航系统只是CSS-我的问题是将样式应用于MVC@Helpers。抱歉-继续反射性地使用ENTER输入新行并提交!;-)我知道可以通过@Html.ActionLink(“Home”、“Index”、“Home”、null、new{@class=“nosubMVC”})添加样式,尽管这似乎不起作用?显然似乎无法设置电子邮件链接的样式?David,是否有其他方法可以将特定样式应用于特定的MVC@Helper?Thanx 4你的帮助。我已经注释掉了默认的锚样式,因为它最初似乎覆盖了导航样式-但是恢复它们恢复了显示,并且导航样式似乎保存了下来。只是其他问题,现在我正在检查另一种浏览器类型!但至少显示了电子邮件链接。很抱歉把你的时间浪费在这么琐碎的事情上。
`@helper EmailTextBox(string email, string title) {
    <a class="email" href="mailto:@email">@title</a>    
    }
 <style>
   a.email {color:black;}
 </style>