• 1401/05/17

ساخت فایل css با دیتابیس :

سلام و عرض ادب خدمت استاد مدائنی عزیز :

، من مدت خیلی قبل یه سوال پرسیدم در مورد مشکلم که از لینک میتونید در جریان قرار بگیرید https://toplearn.com/ShowQuestion/62214/%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%85%D8%AF%D9%84-%D8%A8%D9%87-%D9%81%D8%A7%DB%8C%D9%84-css-%D8%9F!!

خلاصه من قضیه رو ول کردم تا اینکه الان پیگیرش شدم و متوجه شدم که چقدر ساده میشه حلش کرد... من به جای عکس پروفایل از رنگ برای کاربران استفاده میکردم و برای نمایش مجبور بودم استایل درون خطی بدم و از بانک بخونم .....

الان خیلی ساده یه فایل css جنریت میکنم و از کلاس های اون استفاده میکنم و از شر استایل درون خطی که  برای سئو خیلی بده راحت شدم...

[Route("GenCss/{id}")]
public ContentResult GenCss()
{
 var builder = new StringBuilder();
            foreach (var selector in db.Users.ToList())
            {
                builder.Append(".user"+selector.UserID+"{"+ "color:" + selector.UserColor+ "}");
            }
            return Content(builder.ToString(), "text/css");
            }

این کانتنت ریزالت خیلی خیلی ساده فایل css مارو می سازه...

نتیجش به صورت زیر هستش... :

 

 سپس خیلی ساده فقط باید اون رو رفرنس بدیم... لازم به ذکر است این نوع رفرنس دادن async است و موازی لود میشود.

  <link rel="stylesheet" href="/GenCss" media="print" onload="this.media = 'all'; this.onload = null;">

 

 

و در نهایت به جای اینکه برای خوندن رنگ کاربر به بانک کوئری بزنیم کافیه که از کلاس هایی که جنریت کردیم استفاده کنیم...

<i class="icon-user @("user"+item.UserID)"></i>

دیگه میشه هر جایی از رنگ کاربر که تو بانکش زخیرس استفاده کرد، بدون دادن استایل درون خطی که برای سئو سمه....

 

این مورد کاملا تست شده است و اکنون روی سرور تو سایتم (https://kopolart.ir) در حال اجراست... میتونین مشاهده بفرمایین....

 

خواستم این هارو تو سوال قبلم بزارم متاسفانه بسته بود... گفتم جدید بزارم....

 

 

 

 

 

  • 1401/05/18
  • ساعت 00:22

سلام دوست من وقتتون بخیر 

ممنون از توضیحات کاملتون و ارائه راه حل 

موفق باشید دوست من🙏🌹


logo-samandehi