alirezaed
یک شنبه 19 اردیبهشت 1389, 17:12 عصر
با سلام، خسته نباشید،
بنده متوجه یک امکانی در ASP.NET 3.5 شدم که توسط اون آدم برای اینکه بتونه یه UI قوی درست کنه می تونه یه سری فایل های با پسوند htc داشته باشه که رفتارهای کنترل ها رو توی اون بنویسه.
من اطلاعاتی که دارم رو می زارم امیدوارم دوستان تکمیلش کنن و نواقصشو بگن چون خودم تازه کارم.
توی فایل style که برای برناممون (سایتمون) در نظر گرفتیم یک سری تگ هایی داریم که از اونها می تونیم برای یکسان سازی style یک سری کنترل استفاده کنیم مثل کد زیر:
body
{
font-family : Tahoma ;
font-size : 10pt;
}
.TextBox
{
font : tahoma;
border : solid1pxsilver;
font-size :8pt;
width:200px;
behavior
: {url(file.htc({
}
که در ساخت textbox ها می تونیم cssClass اون رو به TextBox تغییر بدیم تا همه اون textboxها، Style خودشون رو از این قطعه کدی که نوشتیم دریافت کنند.
کار غیر معمولی که اینجا دیده می شه اینه که به این Style یک خصوصیت به نام behavior اضافه شده که توی اون یک فایل htc نیز معرفی شده است. این فایل htc مربوط به کد جاوایی است که در هنگام رخدادهایی که ما می گوییم اجرا می شود. کد زیر نمونه ای از یک htc است :
<PUBLIC:COMPONENT>
<PUBLIC:ATTACHEVENT="onmouseover"ONEVENT="handleMouseOver()"/>
<PUBLIC:ATTACHEVENT="onmouseout"ONEVENT="handleMouseOut()"/>
<SCRIPTLANGUAGE="JScript">
var normalColor, normalSpacing;
function handleMouseOver()
{
this.style.border = "1px solid black";
}
function handleMouseOut()
{
this.style.border = "1px solid silver";
}
</SCRIPT>
</PUBLIC:COMPONENT>
در واقع در این داستان ما می گوییم با عبور موس از روی هر textbox کادر دور کنترلمان رنگش عوض بشه و وقتی موس ازش خارج شد برگرده به حالت قبلش.
این هایی که گفتم رو نمی دونم درست فهمیدم یا نه ولی با این کارا من جواب نگرفتم و اون اتفاقی که باید بافته نیافتاده. نمی دونم کجای این قضیه من اشتباه کردم یا کاری رو جا انداختم.
دوستان اگر متوجه شدند لطفاً راهنمایی کنند که چطور می شه از خصوصیت behavior در css استفاده کرد؟
الان موقع کامپایل خطا می ده که خصوصیت behavior ناشناخته است و قابل استفاده نیست.
بنده متوجه یک امکانی در ASP.NET 3.5 شدم که توسط اون آدم برای اینکه بتونه یه UI قوی درست کنه می تونه یه سری فایل های با پسوند htc داشته باشه که رفتارهای کنترل ها رو توی اون بنویسه.
من اطلاعاتی که دارم رو می زارم امیدوارم دوستان تکمیلش کنن و نواقصشو بگن چون خودم تازه کارم.
توی فایل style که برای برناممون (سایتمون) در نظر گرفتیم یک سری تگ هایی داریم که از اونها می تونیم برای یکسان سازی style یک سری کنترل استفاده کنیم مثل کد زیر:
body
{
font-family : Tahoma ;
font-size : 10pt;
}
.TextBox
{
font : tahoma;
border : solid1pxsilver;
font-size :8pt;
width:200px;
behavior
: {url(file.htc({
}
که در ساخت textbox ها می تونیم cssClass اون رو به TextBox تغییر بدیم تا همه اون textboxها، Style خودشون رو از این قطعه کدی که نوشتیم دریافت کنند.
کار غیر معمولی که اینجا دیده می شه اینه که به این Style یک خصوصیت به نام behavior اضافه شده که توی اون یک فایل htc نیز معرفی شده است. این فایل htc مربوط به کد جاوایی است که در هنگام رخدادهایی که ما می گوییم اجرا می شود. کد زیر نمونه ای از یک htc است :
<PUBLIC:COMPONENT>
<PUBLIC:ATTACHEVENT="onmouseover"ONEVENT="handleMouseOver()"/>
<PUBLIC:ATTACHEVENT="onmouseout"ONEVENT="handleMouseOut()"/>
<SCRIPTLANGUAGE="JScript">
var normalColor, normalSpacing;
function handleMouseOver()
{
this.style.border = "1px solid black";
}
function handleMouseOut()
{
this.style.border = "1px solid silver";
}
</SCRIPT>
</PUBLIC:COMPONENT>
در واقع در این داستان ما می گوییم با عبور موس از روی هر textbox کادر دور کنترلمان رنگش عوض بشه و وقتی موس ازش خارج شد برگرده به حالت قبلش.
این هایی که گفتم رو نمی دونم درست فهمیدم یا نه ولی با این کارا من جواب نگرفتم و اون اتفاقی که باید بافته نیافتاده. نمی دونم کجای این قضیه من اشتباه کردم یا کاری رو جا انداختم.
دوستان اگر متوجه شدند لطفاً راهنمایی کنند که چطور می شه از خصوصیت behavior در css استفاده کرد؟
الان موقع کامپایل خطا می ده که خصوصیت behavior ناشناخته است و قابل استفاده نیست.