PDA

View Full Version : مشکل با LinkButton



amirferdowsi
چهارشنبه 24 مهر 1387, 21:54 عصر
سلام
من برای ذخیره فرم در یک سایت از LinkButton به شکل زیر استفاده کردم ، حالا میخوام کاربر هر جایی از Div کلیک کرد رویداد onclick اجرا بشه ، اما زمانی که کاربر روی تصویر کلیک می کنه رویداد اجرا نمیشه ولی زمانی که جاهای دیگه Div کلیک میکنه دستورات اجرا میشن.
این مشکل هم فقط در IE رخ میده و با Firefox مشکلی نداره و زمانی که کاربر روی تصویر هم کلیک کنه رویداد اجرا میشه
یه سوال دیگه هم داشتم اونم اینه که چه جوری میشه زمانی که کاربر کلید Enter رو فشار داد باز رویداد onclick کنترل linkButton اجرا بشه

اینم کدش :


<asp:LinkButton ID="btn_Save" runat="server" CssClass="ButtonBarAnchor" onclick="btn_Save_Click">
<div>
<div class="ButtonBarLeftWrap"></div>
<div class="ButtonBarInnerWrap">
<div class="ButtonBarMenuIcon"><img alt="" src="Save.png" /></div>
<div class="ButtonBarMenuIconText">ذخیره</div>
</div>
<div class="ButtonBarRightWrap"></div>
</div>
</asp:LinkButton>

amirferdowsi
جمعه 26 مهر 1387, 14:20 عصر
سلام
کسی از دوستان در این زمینه اطلاعاتی نداره !؟

amirferdowsi
پنج شنبه 02 آبان 1387, 00:41 صبح
سلام
دوستان عزیز شما به فرم لوگین که در آدرس زیر قرار دارد توجه بفرمائید .
من یک همچنین فرمی رو طراحی کردم ولی زمانی که Enter زده میشه یا کاربر بر روی تصویر کلیک می کنه رویداد Onclick اجرا نمیشه ! :عصبانی::ناراحت:
اگر لطف کنید و بفرمائید که سایت ذیل از چه روشی استفاده کرده است ممنون میشم :تشویق:
با تشکر

اینم آدرس سایت :
http://maildemo.smartertools.com/Login.aspx

amirferdowsi
پنج شنبه 02 آبان 1387, 10:42 صبح
دوست عزیز linkbutton هیچ وقت event کلیک یا onclick رو قبول نمیکنه بلکه باید از عناصر html استفاده کنید.

در ضمن من اون سایت رو دیدم ولی متوجه نشدم شما بیشتر کدوم قسمتش مد نظر شماست!
موفق باشید

سلام
دوست عزیز از توجه شما متشکرم.
چرا linkbutton رویداد onclick رو قبول نمیکنه !
چون من از این رویداد در برنامه استفاده کردم و جواب هم گرفتم . فقط مشکلم با کلیک بر روی تصویر قرار گرفته در داخل این کنترل است .
در ضمن اگر اون فرم لوگین رو هم دیده باشید متوجه میشوید که مسئله من در زمینه دکمه هایی هست که در اون فرم استفاده شده است مانند دکمه Login .
اگر سورس صفحه رو هم مشاهده بفرمایید متوجه میشوید که کلیه دستورات مربوط به اون دکمه در داخل تگ <a> قرار دارد و کنترل linkbutton در سمت کلاینت به تگ <a> ترجمه میشود .
حالا من هم نمیگم که فقط کنترل linkbutton ،اگر لطف بفرمائید و با هر کنترل یا روشی که بشه در فرمها از این نوع دکمه ها استفاده کرد من رو راهنمایی بفرمایید ، ممنون میشم .
با تشکر

amirferdowsi
پنج شنبه 02 آبان 1387, 11:06 صبح
سلام
دوست عزیز اگه به پست اول دقت بفرمایید من هم با استفاده از کلاسهای Css همین کار رو انجام دادم .
به خدا مشکل من کلیک بر روی تصویر هست که دستورات رو اجرا نمیکنه و این مشکل هم فقط در IE به وجود اومده.

موفق باشید .

mostafa_sgh
پنج شنبه 09 آبان 1387, 14:42 عصر
سلام دوست عزیز

در کد بالا شما عکستون رو داخل یه بلاک Div قرار دادین .

کدتون رو به این صورت اصلاح کنید :



<asp:LinkButton ID="btn_Save" Width="50px" runat="server" CssClass="ButtonBarAnchor" OnClick="btn_Save_Click">
<img alt="" border="0" src="print.jpg"/>
<div class="ButtonBarMenuIconText">ذخیره</div>
</asp:LinkButton>


و اما در مورد Submit فرمتون :
در حالت عادی فرم هرگابه اول دکمه Submit برسه ، اونو اجرا میکنه .
برا انجام عمل دستی هم میتونید از این کار استفاده کنید »



<head runat="server">
<script type="text/javascript">
function SubmitForm(ev){
alert(ev.keyCode);
if(ev.keyCode == 13)
{
var sb = document.getElementById('<%= btn_Save.ClientID %>');
sb.click();
}
}
</script>
</head>
<body onkeydown="SubmitForm(event)">

amirferdowsi
پنج شنبه 09 آبان 1387, 17:03 عصر
سلام دوست عزیز

در کد بالا شما عکستون رو داخل یه بلاک Div قرار دادین .

کدتون رو به این صورت اصلاح کنید :


کد:
<asp:LinkButton ID="btn_Save" Width="50px" runat="server" CssClass="ButtonBarAnchor" OnClick="btn_Save_Click"><img alt="" border="0" src="print.jpg"/><div class="ButtonBarMenuIconText">ذخیره</div></asp:LinkButton>


سلام
دوست عزیز زمانی که ماوس بر روی اون بلاک Div قرار میگیره ، پشت زمینه اون تغییر میکنه .
برای همین من کد رو به اون صورت نوشتم . برای مشاهده نمونه دکمه که طراحی کردم به آدرسی که در پست شماره 3 قرار دادم مراجعه بفرمائید .:لبخندساده:
باز هم از راهنمایی و توجه شما ممنونم . :تشویق:

mostafa_sgh
پنج شنبه 09 آبان 1387, 17:23 عصر
دوست عزیز شما برا تغییر رنگ پس زمینه اون کلاس رو واسه خوده HypeLink تعریف کن.



.ButtonBarAnchor
{
background-color : #152546;
}


.ButtonBarAnchor:hover
{
background-color : #FF0066;
}

amirferdowsi
پنج شنبه 09 آبان 1387, 18:57 عصر
سلام
دوست عزیز فکر کنم شما هنوز اون آدرسی که عرض کردم رو مشاهده نکرده اید که نمونه رو ببینید ، چون رنگ تغییر نمی کنه و عکس پشت زمینه تغییر میکنه که در سه قسمت چپ ، وسط و راست هستش .
موفق باشید .

mostafa_sgh
پنج شنبه 09 آبان 1387, 19:07 عصر
آیا شما به دنبال پاسخ کامل هستید ؟

اونی که نوشتم یه مثال بود .

اینم چیزی که دنبالشید ....



.LoginButtons.ButtonBarDivElement
{
float: right;
padding: 0px;
}
.ButtonBarDivElement
{
white-space: nowrap;
}
.LoginButtons.ButtonBarMenuIcon
{
padding-top: 1px;
}
.LoginButtons.ButtonBarMenuIconText
{
display: block;
text-decoration: none;
color: #555555;
font: 9pt Arial;
padding: 2px 0px 0px 0px;
}
.ButtonBarMenuIconText
{
display: block;
text-decoration: none !important;
color: #555555;
font: 8pt Arial;
padding: 2px 0px 0px 0px;
}
.style2
{
color: #497699;
text-decoration: none !important;
}




<div id="ctl00_MPH_LoginImageButton" class="ButtonBarDivElement">
<asp:LinkButton ID="LinkButton1" Width="50px" runat="server" CssClass="style2" OnClick="btn_Save_Click"><span class="ButtonBarLeftWrap"><span class="ButtonBarRightWrap">
<span class="ButtonBarInnerWrap">
<div class="ButtonBarMenuIcon">
<img src="http://maildemo.smartertools.com/App_Themes/Horizon/Images/Icons/Login/Login.png"/></div>
<div class="ButtonBarMenuIconText">
Login</div>
</span></span></span></asp:LinkButton>
</div>

amirferdowsi
جمعه 10 آبان 1387, 12:39 عصر
سلام
دوست عزیز من تمام این مراحلی که شما قرار دادید رو از ابتدا رفتم ، مشکل من با کلیک بر روی تصویر هستش که در IE عمل نمی کنه ولی زمانی که از Div ارتفاع رو حذف میکنم ( مثال Height : 58px ) این مشکل حل میشه اما تصاویر پشت زمینه رو کامل نشون نمیده !

من کدهای اون فرم رو هم مرور کردم که همش دارای ارتفاع ثابت هست ، حالا نمی دونم برای اینکار باید چه کار کنم ؟ :عصبانی++: