PDA

View Full Version : مشکل با Server Controls



مهدی فهمیده غلامی
سه شنبه 14 بهمن 1382, 14:56 عصر
دوستان همانطور که می دونید دو دسته کنترل وب در net.وجود داره
یه دسته کنترل های HTML معمولی
و یه دسته کنترل های Server
حالا من می خوام بدونم که چطور می شه من یه کنترل سمت سرور مثل textbox داشته باشم و بتوانم از event های
سمت client مثل onkeypress,... استفاده کنم ویا به کاربر alert() نشون بدم ! چون در غیی
اینصورت باید در PostBack صفحه در سمت Server استفاده کنم که این واقعا مقرون به صرفه نیست !
فرض کنید کاربر به ازای هر کارکتری که می زند یه رفت و برگشت به Server صورت گیرد که این performance بسیار پایین می اره
چطور می شه از onkeypress سمت clinet برای این کنترل سمت server استفاده کنم و ورودی های کاربر را کنترل کنم
در ضمن از کنترل های تایید اعتبار و ... در net. نمی خوام استفاده کنم !

Vahid_Nasiri
سه شنبه 14 بهمن 1382, 19:53 عصر
از کنترل های HTML و کد نویسی جاوا اسکریپت استفاده کنید.

faramarz_s
سه شنبه 14 بهمن 1382, 23:57 عصر
جالبه :wink:
اگه مثل پروژه بنده به هر دو حالت یعنی استفاده از توابع جاوا اسکریپت و در همان حال به بایند شدن تکست باکس نیاز داشته باشید چه باید کرد؟ :!:

Abbas Arizi
چهارشنبه 15 بهمن 1382, 01:15 صبح
کنترلهای ASP.NET به صورت کنترلهای HTML معمولی به Client ها ارسال میشن. بنابراین شما کد جاوااسکریپتتون رو طبق ID اون کنترل بنویسید. مشکلی نخواهد بود. :wink:

برای نسبت دادن رویدادهای کنترلها هم به اسکریپتهای سمت کاربر از ویژگی Attributes در کنترلهای سرور استفاده کنید. فرضا

Button1.Attributes.Add("OnClick", "showAlert");

faramarz_s
پنج شنبه 16 بهمن 1382, 06:52 صبح
ممکنه در مورد این استفاده دو جانبه مقاله ای که سورس کامل داشته باشه معرفی کنید. :متفکر:

Abbas Arizi
پنج شنبه 16 بهمن 1382, 12:12 عصر
شرمنده :oops: چیزی سراغ ندارم :oops: :oops:
اینو دیگه باید دست به دامن آقای نصیری شد. :roll:

Vahid_Nasiri
پنج شنبه 16 بهمن 1382, 23:08 عصر
http://www.devtrain.de/artikel_760.aspx :wink:

مهدی فهمیده غلامی
چهارشنبه 22 بهمن 1382, 19:25 عصر
آقای نصیری من از کدی که در ادرس مربوطه معرفی کردید بود نتوانستم استفاده کنم و .net خطا می ده می شه بگین دقیقا کد ها را کجا ها باید قرار داد قرار داد
من می خوام وقتی روی مثلا یک دکمه سرور کلیک شد یک تابع در سمت مشتری اجرا و بعد به سرور postback بشه

Vahid_Nasiri
چهارشنبه 22 بهمن 1382, 21:31 عصر
شما نیازی به استفاده از این موارد فوق ندارید.
با استفاده از custom validator خود asp.net می تونید هر نوع کنترل تعیین اعتباری که در دات نت به صورت پیش فرض وجود ندارد ایجاد کنید.
و هیچ دلیلی هم برای استفاده نکردن از این امکانات وجود ندارد!
----------------------
اما در مورد کدهای توصیه شده توسط دوستان که بسیار جالب هم هست:

فرض کنید یک تکست باکس روی صفحه دارید به نام txtEmail
در page_load بنویسید:


txtEmail.Attributes.Add( "onFocus", "this.style.backgroundColor='aliceblue';" );
txtEmail.Attributes.Add( "onBlur", "this.style.backgroundColor='white';" );

سپس برنامه را اجرا کنید و ماوس را به تکست باکس نزدیک و دور کنید و نتیجه را ملاحظه کنید.

با این روش هر نوع کد جاوا اسکریپت کلاینت سایدی را هم که قبلا شما در سورس صفحه ی aspx نوشته اید می توان به کنترل های سمت سرور نسبت داد.

مهدی فهمیده غلامی
پنج شنبه 23 بهمن 1382, 08:46 صبح
اوستا نصیری ممنون راهنمایی شما راه گشا بود