فصل هشتم

معرفی کنترل های HTML و تگ های HTML در برنامه های  ASP.NET

 در این فصل از دید یک برنامه نویس دلفی نگاهی به کاربرد استاندارد تگها و اجزاء کنترل های HTML سمت سرور خواهیم انداخت .


همچنانکه قبلا ً گفته شد ASP.NET در طول تولید برنامه های خود دو نوع کنترل را در اختیار شما قرار می دهد . در کنار کنترل های سمت سرور ( وب یا HTML) ، هر صفحه  ASP.NET معمولاً شامل HTML خالص یا اجزاء HTML مانند جداول، لیست ها، تصاویر و غیره می باشد. این مقاله اقدام به بررسی اجزاء HTML به روش کنترل سمت سرور می کند . البته اگر اطلاعات شما راجع به HTML اندک است باید به مطالعه بیشتر بپردازید.

تگها ، المانها ، صفت های HTML خالص :

اجزاء یا المانهای HTML قسمتهای ساختاری یک وب فرم هستند که توسط تگ های وب و صفت های هر تگ تعریف می شوند. به طور عادی اجزاء کلاسیک HTML داخل یک وب فرم ASP.NET  به عنوان متن نوشتاری تلقی شده و از طریق برنامه نویسی توسط طراحان صفحه قابل دسترسی نبوده و این اجزاء در سمت کاربر اجرایی می شوند و مرورگر کاربر از آنها برای تولید صفحه استفاده می کند. برای مثال داشتن یک ابر پیوند یا hyperlink با نوشتن تک <a> و صفت "......"=href ایجاد می شود. مثال دیگر :  input type=button > > سبب می شود که یک دکمه روی فرم ایجاد گردد. برای اینکه بتوان از طریق برنامه نویسی یک جزء HTML را از طریق کلاس کد پنهان تغییر دهید باید صفت " runat="server" " آن قسمتی که مایل هستید را فعال نمایید. اجزاء HTML که علامت "سمت سرور " داشته باشند را به نام کنترل های HTML می خوانند کنترل های HTML هم رفتاری شبیه اجزاء HTML دارند و تفاوتی با آنچه قبلاً انجام می داده اند  نمی کنند .

 کنترل های HTML :

برای دستیابی از طریق برنامه به اجزاء HTML می توانید مشخص کنید که یک جزء HTML به صورت کنترل سرور تولید و توزیع شود این کار از طریق افزودن صفت "server"=runat   صورت می گیرد . . صفت لازم دیگر نیز ID بوده که دستگیره ای برای استفاده از طریق برنامه نویسی ایجاد می کند . فرم های ASP.NET همیشه با کنترل های فرم HTML شروع می شوند . کنترل های HTML form درست مانند HTML های معادل خود هستند و تنها صفت runat = server" را دارند . سایر کنترل های سرور نیز برای تشخیص داده شدن توسط ASP.NET باید بین تک های شروع و پایانی قرار داده شوند .

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

اول باید آن جزء را به صفحه خود اضافه کنیم. این کار با کشیدن و رها کردن یا کلیک مضاعف روی جزء مورد نظر صورت می گیرد.

در قدم دوم باید صفت runat=”server”  را به شکل دستی به جزء HTML اضافه کنید و آنرا تبدیل به یک HTML سمت سرور نمایید.

 در ادامه باید یک دستگیره یا ID نیز اضافه نمایید.

توجه کنید:

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

 

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

بیایید یک نمونه عملی را اجرا کنیم. وقتی در محیط طراحی قرار دارید روی شی HTML Anchor در سر برگ HTML Controls” " کلیک کرده و آنرا بکشید و در میانه صفحه رها کنید. بعد صفحه کد aspx را باز کنید و کد <a> اضافه شده را پیدا کنید که به شکل ذیل است:

Anchor

 حال دو صفت runat و ID را اضافه کنید تا شبیه خط زیر باشد :

Anchor

با کمال تأسف کار شما تمام نشده است و باید کدهای وب فرم هم حاوی دستوراتی برای شناسایی شی تعریف شده در کلاس کد پنهان باشد. نکته دیگر اینکه این کار هم باید به طور دستی صورت گیرد. برای این کار صفحه code را فعال نموده و قسمت مربوط به

 strict-private را پیدا کنید و یک پیوند مانند زیر اضافه کنید . 

htmlLink: System.Web.UI.HtmlControls.HtmlAnchor;

 

 به این ترتیب شما می توانید به خصوصیات و صفت های Anchor در مجموعه دستورات و کدهای برنامه خود دستیابی داشته باشید.

 شاید اندکی به نظر پیچیده بیاید ولی قبل از آنکه تصمیم به فرار بگیرید باید بدانید که لازم است در هر صفحه ای از برنامه وب خود از این روش استفاده کنید و نمیتوانید از آن اجتناب کنید.

توجه کنید که افزودن یک جزء HTML به فرم هیچ حرکتی را سبب نخواهد شد و تنها سبب افزوده شدن مقداری کد سمت کاربر به فرم شده است. حال با در نظر گرفتن همین نکته می توانیم بگوییم برای افزودن یک کنترل HTML به صفحه می توانید تنها آن را در صفحه aspx خود اضافه کنید .

 کنترل های HTML و شرایط render  شدن آنها: 

اگر به کنترل های HTML موجود در گروه آنها در پالت ابزار نگاهی بیندازید می بینید تعداد آنها زیاد است. لیست پی آمد ارتباط هر کدام را با اجزاء HTML استاندارد توضیح می دهد.

HTML Control

HTML representation

Declare as / Description

HTML Label

HtmlGenericControl

HTML Button

HtmlButton

HTML TextBox

HtmlInputText

HTML TextArea