Asp.Net MVC переопределяет класс CSS - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть тег H1, и внутри него есть тег привязки, который генерируется из кода

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

RenderLinkTracking создает тег привязки

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

CSS тега привязкиis

.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 или добавить встроенный CSS с помощью jquery?Любое предложение будет оценено.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Простое решение заключается в создании другого стиля 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>
0 голосов
/ 24 сентября 2018

Изменение пользовательского помощника может выглядеть следующим образом:

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>
...