Asp.Net MVC overriding Class CSS



我有一个 H1 标签,里面有一个从代码生成的锚标签

<div class=".slide-title">
<H1>    
@RenderLinkTracking(m => m.btn, Model.bTnTitle)    
</H1>
</div>

渲染链接跟踪创建锚标记

<a href="/home/" data-id="Image Title<">Image Title</a>

锚标记的 CSS 是

.slide-title a
{
color : red;
}

我正在尝试覆盖锚标签的 CSS。这就是我正在做的事情和工作方式

<style>
@if (Model.Param.H1CSS!= null)
{
<text>
.slide-title a
{
@Html.RenderCSSAndJSAttributes(Model.Param.H1CSS).ToString().Replace("style=","")
}
</text>
}
</style>

Html.RenderCSSAndJSAttributes生成样式color:#001595 !important;font-family:Book Antiqua !important;Text-align:10px;Text-align:Center的方法 有没有更好的方法来覆盖类CSS或使用jquery附加内联CSS?任何建议将不胜感激。

提前致谢

更改自定义帮助程序可能如下所示:

namespace System.Web.Mvc {
public static class HtmlHelperExtensions {
public static MvcHtmlString RenderLinkTracking(this HtmlHelper helper, string url, string linkText, string style) {
//...
return MvcHtmlString.Create(String.Format("<a href='{0}' style='{1}'>{2}</a>", url, style, linkText));
}
}
}

因此,您可以像这样为每个自定义链接传递样式:

<div class=".slide-title">
<H1>    
@RenderLinkTracking(m => m.btn,Model.yourUrl, Model.bTnTitle, Model.Param.H1CSS)    
</H1>
</div>

简单的解决方案是为锚层次结构创建另一个CSS样式.slide-title h1 a

.slide-title a
{
color:#001595!important;
}
.slide-title h1 a
{
color: green!important;
}
<div class="slide-title">
<h1>    
<a href="/home/" data-id="Image Title<">H1 Anchor</a>    
</h1>

<a href="/home/" data-id="Image Title<">Simple Anchor</a>
</div>

最新更新