درس هجدهم : فکوس در ASP.NET

بر خلاف کنترل های HTML سمت سرور ، هر کنترل وب ، یک متد Focus() را در دسترس قرار می دهد .  متد focus() تنها کنترل های ورودی ( کنترل هایی که ضربات کاربر روی صفحه کلید را می پذیرند ) را تحت تاثیر قرار می دهد . با ایجاد و نمایش صفحه درون مرورگر کاربر ، کاربر با کنترل دارای فکوس ، شروع می کند .
به عنوان مثال ، اگر امکان ویرایش اطلاعات مشتری توسط کاربر در یک فرو وجود داشته باشد ، می توان متد Focus() را روی اولین کادر متن از فرم ، فراخوانی کرد . در این روش ، مکان نما بلافاصله با بارگذاری صفحه درون مرورگر ، درون این کادر متن قرار میگیرد . اگر کادر متن تقریبا پایین فرم قرار داشته باشد ، حتی صفحه بلافاصله به پایین لغزانده شده و روی این کنترل قرار می گیرد . سپس کاربر می تواند با استفاده از کلید Tab ، از یک کنترل به کنترل دیگر حرکت کند .
چنانچه برنامه نویس متبحر در زمینه HTML باشید ، می دانید که قابلیتی توکار برای دادن فکوس به یک کنترل ورودی وجود ندارد و باد برای انجام این کار ، به جاوا اسکریپت تکیه کنید . این موضوع جز رموز پیاده سازی ASP.NET است . هنگامی که پردازش کد به پایان می رسد و صفحه ایجاد می شود و به نمایش در می آید ، ASP.NET یک قطعه کد جاوا اسکریپت را به انتهای صفحه اضافه می کند . کد جاوا اسکریپت مذکور ، فکوس را روی آخرین کنترلی که از متد Focus () استفاده کرده قرار می دهد . چنانچه اصلا متد Focus() فراخوانی نشده باشد ، این کد ، به صفحه اضافه نخواهد شد .
به جای فراخوانی متد Focus() از طریق برنامه نویسی ، می توان یک کنترل را طوری تنظیم کنیم که همواره فکوس روی ان قرار داشته باشد . برای انجام این کار ، خصوصیت DefaultFocus از تگ <form> مقدار دهی می شود :

 

با فراخوانی متد Focus() در کد می توان فکوس پیش فرض را جایگزین کرد .
روشی دیگر برای مدیریت فکوس ، استفاده از کلید های دسترسی است . به عنوان مثال ، اگر خصوصیت AccessKey از یک کادر متن به A مقدار دهی شود ، با فشار دادن کلید های Alt+A ، فکوس روی این کادر متن قرار می گیرد . برچسب ها نیز می توانند به همین نحو عمل کنند اگر چه که نمی توانند فکوس ها را بپذیرند . برای این کار باید خصوصیت Label.AssociatedCOntrolID رابرای تعیین یک کنترل ورودی پیوند شده  مقدار دهی کرد . به این ترتیب ، فکوس به یک کنترل نزدیک منتقل می شود .
به عنوان مثال ، با فشار دادن ترکیب کلید های Alt+2 ، برچسب زیر ، فکوس را روی TextBox2 قرار می دهد :

 

اعمال تمرکز و به کار گیری کلید های دسترسی در مرورگر های دیگر که متعلق به مایکروسافت نیستند نیز پشتیبانی می شود .
دکمه پیش فرض
ASP.NET علاوه بر اعمال تمرکز روی کنترل ها ،  امکان تخصیص یک دکمه پیش فرض روی یک صفحه وب را نیز فراهم می کند . دکمه پیش فرض ، دکمه ای است که گویی با فشار روی دکمه Enter ، کلیک می شود . به عنوان مثال ، اگر صفحه وب شامل یک فرم باشد ، می توان دکمه تایید را به دکمه پیش فرض تبدیل کرد . به این ترتیب ، با هر بار ضربه روی کلید Enter ، صفحه به سرور وب ارسال شده و رویداد Button.Click دکمه مذکور راه اندازی می شود .
برای تخصیص یک دکمه پیش فرض ، باید خصوصیت HtmlForm.DefaultButton ، با ID کنترل مربوطه مقدار دهی شود . همان طور که در ادامه به شما نشان خواهیم داد :

 

دکمه پیش فرض باید کنترلی باشد که رابط IButtonControl را پیاده سازی کند . رابط مذکور توسط کنترل های وب Button،LinkButton و ImageButton پیاده سازی می شود اما تمامی کنترل های HTML سمت سرور این کار را نمی کنند .
در برخی موارد بهتر است که بیش از یک دکمه پیش فرض وجود داشته باشد . به عنوان مثال ، اگر یک صفحه وب با دو گروه کنترل ورودی ایجاد شود و هر گروه ، به یک دکمه پیش فرض متفاوت نیاز داشته باشد می توان هر گروه را در یک قاب ( panel ) جداگانه قرار داد .کنترل Panel ، یک خصوصیت DefaultButton را هم در دسترس قرار می دهد که همواره با قرارگیری فکوس روی هر یک از کنترل های درون آن ، فعال می شود .

درس هجدهم : فکوس در ASP.NET
5 (100%) 1 رای

(434 نوشته)

C# Programmer , Web Design And Developer , MVC , ASP.NET

فکر شما چیست؟

آدرس ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *

حاصل جمع اعداد را وارد کنید : *