PDA

View Full Version : حرفه ای: اضافه کردن خصوصیات<a> به linkButton



araz_pashazadeh
سه شنبه 14 تیر 1390, 16:40 عصر
با عرض سلام و خسته نباشید خدمت دوستان
من در داخل دیتا لیست از linkButton استفاده کرد می خوام وقتی کاربر روی linkButton کلیک کرد مثل
<a> که در قسمت CSS می شود visited و link و active و hover را تعریف کرد و در شرایط مختلف حالت مختلفی را به خودش میگیره LinkButton هم مثل اون همین شرایط را داشته باشه.
یعنی وقتی کاربر کلیک کرد رنگ اون تغییر کنه یا وقتی روی اون قرار گرفت فونتش تغییر بکنه البته من این کارها را برای <a> انجام میدم ولی برای LinkButton کار نمی کنه ممنون میشم اگه دوستان در این ضمینه من را یاری کنن.

Himalaya
سه شنبه 14 تیر 1390, 19:48 عصر
سلام.
LinkButton هم بعد از رندر تو صفحه تبدیل به تگ a میشه. فقط کافیه به تگ های a داخل DataList دسترسی پیدا کنید. فرض کنید آیدی DataList بعد از رندر تو صفحه، سمت کلاینت تغییری نکنه
(اگه تغییر میکرد ببینید DataList.ClientID چه مقداری داره و از اون استفاده کنید). کافیه استایلی به این صورت براش تعریف بشه (فقط رنگ رو تغییر دادم. فونتو بقیه موارد هم به همین صورته)

<style>
#DataList1 a:hover
{
color: Green;
}

#DataList1 a:active
{
color: Yellow;
}

#DataList1 a
{
color: Orange;
}

#DataList1 a:visited
{
color: Red;
}
</style>

araz_pashazadeh
چهارشنبه 15 تیر 1390, 11:28 صبح
من این تکه کد را قرار دادم


<styletype="text/css">
a.linkButton:visited {color:Aqua;font-weight:bold;
}
a.linkButton:link {color:Lime;font-weight:bold;
}
a.linkButton:active {color:Black;font-weight:bold;
}
a.linkButton:hover {color:White;font-weight:bold;
}
</style>

</head>
<body>
<formid="form1"runat="server">
<div>


<asp:LinkButtonID="LinkButton4"runat="server"><ahref="#"class="linkButton">click</a></asp:LinkButton>
</div>
</form>
</body>


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

esi_0o0
پنج شنبه 16 تیر 1390, 11:41 صبح
من این تکه کد را قرار دادم


<styletype="text/css">
a.linkButton:visited {color:Aqua;font-weight:bold;
}
a.linkButton:link {color:Lime;font-weight:bold;
}
a.linkButton:active {color:Black;font-weight:bold;
}
a.linkButton:hover {color:White;font-weight:bold;
}
</style>

</head>
<body>
<formid="form1"runat="server">
<div>


<asp:LinkButtonID="LinkButton4"runat="server"><ahref="#"class="linkButton">click</a></asp:LinkButton>
</div>
</form>
</body>


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

با سلام خدمت دوستان منم با همین مشکل مواجه هستم در صورت امکان یکم زودتر جواب دهید
با تشکر

mehdi.mousavi
پنج شنبه 16 تیر 1390, 11:59 صبح
سلام.
برای اینکه Specificity ی لینک ها در حالتی قرار بگیره که کلیه Style ها رو بتونه Handle کنه، باید ترتیب تعریف visited، link، active و hover رو حتما به این شکل بنویسید:


a.linkButton:link {
color: Lime;
font-weight: bold;
}
a.linkButton:visited {
color: Aqua;
font-weight: bold;
}
a.linkButton:hover {
color: Red;
font-weight: bold;
}
a.linkButton:active {
color: Black;
font-weight: bold;
}


بدین ترتیب، لینک ها در حالت عادی سبز رنگ هستن. وقتی کلید سمت چپ Mouse رو روی یک لینک نگهدارید، رنگ لینک سیاه خواهد شد. لینکی که مشاهده شده رنگش Aqua و در نهایت لینکی که Mouse روی اون قرار میگیره، قرمز رنگ خواهد بود. برای اطلاعات بیشتر لطفا به این آدرس (http://meyerweb.com/eric/css/link-specificity.html) مراجعه کنید.

موفق باشید.

پاورقی: ضمنا، کد ASPX ای که نوشته اید صحیح نیست. دلیلی نداره شما یک Link رو داخل لینک دیگه ای Nested تعریف کنید! کد ASPX شما باید چنین چیزی باشه:

<asp:LinkButtonID="LinkButton4" runat="server" CssClass="linkButton" Text="MyLink"></asp:LinkButton>

araz_pashazadeh
شنبه 18 تیر 1390, 16:29 عصر
پاورقی: ضمنا، کد ASPX ای که نوشته اید صحیح نیست. دلیلی نداره شما یک Link رو داخل لینک دیگه ای Nested تعریف کنید! کد ASPX شما باید چنین چیزی باشه:

<asp:LinkButtonID="LinkButton4" runat="server" CssClass="linkButton" Text="MyLink"></asp:LinkButton>[/QUOTE]

ممنون از راهنمایی شما.
نمی دونستم باید چیکار کنم این بود که از این روش استفاده کردم هر چند اشتباه:خجالت:
خیلی ممنون که یاد اوری کردین.

araz_pashazadeh
شنبه 18 تیر 1390, 16:48 عصر
من این تکه کد را به شکل زیر قرار دادم ولی نتیجه نگرفتم:متفکر:
آیا این کدی که من در زیر قرار دادم مشکل داره؟

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="Page_Default" %>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title></title>
<styletype="text/css">

a.linkButton:link {color: Lime;font-weight: bold;}
a.linkButton:visited {color: Aqua;font-weight: bold;}
a.linkButton:hover {color: Red;font-weight: bold;}
a.linkButton:active {color: Black;font-weight: bold;}

</style>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:LinkButtonID="LinkButton1"runat="server">LinkButton</asp:LinkButton>

</div>
</form>
</body>
</html>



لطفا من را راهنایی کنین...

mehdi.mousavi
شنبه 18 تیر 1390, 19:24 عصر
سلام.
ایرادش اینه که CssClass لینک رو set نکرده اید. به پاورقی پست قبلی من دقت کنید، متوجه تفاوت تعریف LinkButton خواهید شد.

موفق باشید.