ورود

View Full Version : html.ActionLink And CSS



مهدی هادیان2
پنج شنبه 05 دی 1392, 10:21 صبح
بسم الله الرحمن الرحیم
با سلام
بنده خواستم رنگ لینک ها در ActionLink مثلا قرمز شود.
در ویو مربوطه کد زیر رو نوشتم:
@Html.ActionLink(item.Name, "browse", new { Genre = item.Name }
, new { @class="~/Content/ClassActionLink"})
و در ClassActionLink کد زیر را:
a {
color: red;
outline: none;
padding-left: 3px;
padding-right: 3px;
text-decoration: none;
}

ولی رنگ لینک ها همچنان مشکی ست و از site.css ارث بری می کند.
مسئله از کجاست؟
با سپاس

hakim22
پنج شنبه 05 دی 1392, 13:05 عصر
اگر به کدی که قرار دادید دقت کنید اشکال کار واضح است.
در قسمت Class@ باید نام کلاس رو قرار بدید یعنی ClassActionLink

بعد فایل کلاس رو باید با استفاده از دستور Link در زیر Link مربوط به Site.css در فایل layout یا در ابتدای همین View قرار بدید.
بهتره که یک section برای style ها بسازید و همیشه با آن کار کنید.

مهدی هادیان2
شنبه 07 دی 1392, 16:47 عصر
بسم الله الرحمن الرحیم
با سلام

اگر به کدی که قرار دادید دقت کنید اشکال کار واضح است.
در قسمت Class@ باید نام کلاس رو قرار بدید یعنی ClassActionLink
این کار رو انجام دادم.

@Html.ActionLink(item.Name, "browse", new { Genre = item.Name }
, new { @class="ClassActionLink"})

بعد فایل کلاس رو باید با استفاده از دستور Link در زیر Link مربوط به Site.css در فایل layout یا در ابتدای همین View قرار بدید.

<link href="~/Content/ClassActionLink.css" rel="stylesheet" type="text/css" />
ولی متاسفانه درست نشد.

hakim22
یک شنبه 08 دی 1392, 09:13 صبح
در این حالت دستور ActionLink مقدار RouteValue را هم از شما میخواهد.

قبل از new در ActionLink یک مقدار Null اضافه کنید.



@Html.ActionLink(item.Name, "browse", new { Genre = item.Name }
,null
, new { @class="ClassActionLink"})

مهدی هادیان2
یک شنبه 08 دی 1392, 09:42 صبح
بسم الله الرحمن الرحیم

در این حالت دستور ActionLink مقدار RouteValue را هم از شما میخواهد.

قبل از new در ActionLink یک مقدار Null اضافه کنید.



@Html.ActionLink(item.Name, "browse", new { Genre = item.Name }
,null
, new { @class="ClassActionLink"})

با سلام
متاسفانه overloadeی که فرمودید خطای زیر رو میده:

'System.Web.Mvc.HtmlHelper<System.Collections.Generic.IEnumerable<MvcMusicStore.Models.Genre>>' does not contain a definition for 'ActionLink' and the best extension method overload 'System.Web.Mvc.Html.LinkExtensions.ActionLink(Sys tem.Web.Mvc.HtmlHelper, string, string, string, object, object)' has some invalid arguments

مهدی هادیان2
یک شنبه 08 دی 1392, 09:53 صبح
بسم الله الرحمن الرحیم
با سلام
حواسم به ترتیب آرگومان ها نبود:

@Html.ActionLink(item.Name, "Browse"
,null
, new { Genre = item.Name }
, new { @class="ClassActionLink"})

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

hakim22
یک شنبه 08 دی 1392, 18:18 عصر
وقتی روی لینک کلیک میکنید به قسمت URL در مرورگر دقت کنید. اگر اطلاعات اضافی (بعد از علامت سوال) و ازی این قبیل مشاهده می کنید مشکل شما در ترتیب آرگومانهاست.
اگر در کروم با کلیک راست روی لینک و زدن گزینه Inspect emelent کلاس را در لینک مشاهده می کنید مشکل در کلاس است.

اگر هیچکدام کار نکرد از تگ html استفاده کنید!