Ana içeriğe atla

ConditionClassTagHelper

 using System.Collections.Generic;

using System;

using System.Linq;

using Microsoft.AspNetCore.Razor.TagHelpers;


namespace Web

{

    [HtmlTargetElement("div", Attributes = ClassPrefix + "*")]

    public class ConditionClassTagHelper : TagHelper

    {

        private const string ClassPrefix = "class-if-";

        [HtmlAttributeName("class")]

        public string CssClass { get; set; }


        private IDictionary<string, bool> _classValues;


        [HtmlAttributeName("", DictionaryAttributePrefix = ClassPrefix)]

        public IDictionary<string, bool> ClassValues

        {

            get

            {

                return _classValues ?? (_classValues =

                    new Dictionary<string, bool>(StringComparer.OrdinalIgnoreCase));

            }

            set { _classValues = value; }

        }


        public override void Process(TagHelperContext context, TagHelperOutput output)

        {

            var items = _classValues.Where(e => e.Value).Select(e => e.Key).ToList();


            if (!string.IsNullOrEmpty(CssClass))

            {

                items.Insert(0, CssClass);

            }


            if (items.Any())

            {

                var classes = string.Join(" ", items.ToArray());

                output.Attributes.Add("class", classes);

            }

        }

    }

}

Yorumlar

Bu blogdaki popüler yayınlar

NopCommerce SQLite Backup and Restore

        /// <summary>         /// Creates a backup of the database          /// </summary>         public virtual Task BackupDatabaseAsync(string fileName)         {             try             {                 var backup = new SqliteConnection($"Data Source={fileName}");                 var dbConnection = new SqliteConnection(DataSettingsManager.LoadSettings().ConnectionString);                 dbConnection.Open();                 dbConnection.BackupDatabase(backup);                 //SqliteConnection.ClearPool(dbConnection);                 dbConnection.Close();   ...

ASP.NET Core Structure

 Elbette, FileCacheHelper ve ICacheFactory 'nin önbellek yöntemlerini kullanarak, bellek içi (memory cache) ve dosya tabanlı (file cache) önbellek yöntemleri arasında parametreye bağlı olarak dinamik geçiş yapabileceğiniz bir yapı oluşturabiliriz. Adımlar PageObjectSettings Sınıfı: Bu sınıf, hangi önbellek yönteminin kullanılacağını belirleyen bir parametre içerecek. CacheHelper: CacheHelper sınıfı, belirli bir önbellek yöntemine göre veriyi getiren bir metot içerecek. CacheFactory ve FileCacheHelper: İlgili önbellek yöneticileri. Örnek Kod 1. PageObjectSettings Sınıfı csharp Kodu kopyala public class PageObjectSettings { public bool UseMemoryCache { get ; set ; } } 2. CacheHelper Sınıfı csharp Kodu kopyala public class CacheHelper { private readonly ICacheFactory _cacheFactory; private readonly FileCacheHelper _fileCacheHelper; private readonly PageObjectSettings _settings; public CacheHelper ( ICacheFactory cacheFactory, FileCacheHelper fil...

SMARTSTORE NOTLARI

 UseSmallProductBoxOnHomePage -> Ana sayfada küçük ürün kutusu kullanın HideBuyButtonInLists DisableBuyButton cart kapatma: iki ayarı var  ShoppingCartSettings.MiniShoppingCartEnabled = true olması lazım ve acces shopping card false; ayrıca açmak için display prices true olmalı fiyat olmadan sepet çalışmaz.                                                                                          Ürünleri Karşılaştır hesabım alanındaki siparişleri gizleme altına indirilebilir ürünler  ve stok ürünler menüsü  ANASAYFADA GÖSTER PRODUCT VE CATEGORYLER GİZLEME ÜRÜNLER VE KATEGORİLER TEK TEK....  fiyattaki kazancınız göster ShowRetailPriceSaving Karşılaştır Kapatma UZUN METİNLER KISILIYOR SAYFALA...