مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

جلسه هفتم آموزش ASP.NET : کنترل های سرور در ASP.NET


کنترل های سرور در ASP.NET

کنترل ها ، بلوک های کوچک ساختاری در رابط کاربری گرافیکی می باشند ، که شامل text box ها ، کلیدها ، check box ها ، list box ها و برخی از ابزارهای دیگر می باشند. با استفاده از این ابزارها ، کاربر می تواند داده ها را وارد نماید ، انتخاب انجام دهد و تنظیمات مورد نظر خود را اعمال نماید.

کنترل ها ، برای انجام کارهای ساختاری ، مانند اعتبارسنجی ، دسترسی به داده ها ، امنیت ، ایجاد صفحات master و دستکاری داده نیز استفاده می شوند.

ASP.NET از پنج نوع کنترل وب استفاده می نماید ، که عبارتند از:

  • کنترل های HTML
  • کنترل های سرور HTML
  • کنترل های سرور ASP.NET
  • کنترل های سرور ASP.NET Ajax
  • کنترل های کاربر و کنترل های سفارشی

کنترل های سرور ASP.NET ، کنترل های اولیه ای هستند که در ASP.NET مورد استفاده قرار می گیرند. این کنترل ها می توانند در گروه های زیر دسته بندی شوند:

  • کنترل های اعتبار سنجی (Validation controls) : این کنترل ها ، برای اعنبار سنجی ورودی کاربر استفاده می شوند و با اجرای اسکریپت در سمت کاربر کار می کنند.
  • کنترل های منبع داده (Data source controls) : این کنترل ها ، اتصال داده ها به منابع داده های مختلف را فراهم می کنند.
  • کنترل های مشاهده داده (Data view controls) : این کنترل ها ، جدول ها و لیست های مختلفی هستند که می توانند داده ها را از منبع داده نمایش دهند.
  • کنترل های شخصی (Personalization controls) : این کنترل ها ، برای شخصی سازی یک صفحه بر اساس تنظیمات و اطلاعات کاربر ، مورد استفاده قرار گیرند.
  • کنترل های ورود به سیستم و امنیت (Login and security controls) : این کنترل ها ، عملیات تأیید هویت کاربر را اعمال می کنند.
  • صفحات Master : این کنترل ها ، چیدمان و رابط سازگار را در سراسر برنامه کاربردی فراهم می کنند.
  • کنترل های ناوبری (Navigation controls) : این کنترل ها ، در عملیات ناوبری کمک کننده هستند.  مانند منوها ، tree view و غیره.
  • کنترل های غنی (Rich controls) : این کنترل ها قابلیت های اجتماعی را پیاده سازی می کنند. مانند ، AdRotator ، FileUpload ، و کنترل Calendar .

ساختار syntax برای استفاده از کنترل های سرور به این صورت است:

<asp:controlType  ID ="ControlID" runat="server" Property1=value1  [Property2=value2] />

علاوه بر این ، ویژال استدیو ، ویژگی های زیر را برای کمک به کدنویسی بدون خطا فراهم می کند:

  • کنترل های drag & drop در design view
  • ویژگی IntelliSense که خصیصه ها را نمایش داده و به طور خودکار تکمیل می کند.
  • پنجره properties که به طور مستقیم مقادیر خصیصه را تنظیم می کند.

خصیصه های مربوط به کنترل های سرور

کنترل های سرور ASP.NET با جنبه بصری از کلاس WebControl مشتق شده اند و تمام خصیصه ها ، رویدادها و متدهای این کلاس را به ارث برده اند.

کلاس WebControl و برخی از کنترل های سرور دیگر که به صورت بصری رندر نمی شوند ، از کلاس System.Web.UI.Control مشتق می شوند. مانند ، کنترل PlaceHolder یا کنترل XML .

کنترل های سرور ASP.NET تمام خصیصه ها ، رویدادها و متدهای کلاس WebControl و کلاس System.Web.UI.Control را به ارث می برند.

جدول زیر خصیصه های به ارث برده شده را که برای تمام کنترل های سرور متداول هستند ، ارائه می دهد:

Property

توضیحات

AccessKey

فشار دادن این کلید با کلید Alt ، تمرکز را به کنترل انتقال می دهد.

Attributes

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

BackColor

رنگ پس زمینه

BindingContainer

این کنترل شامل کنترل های اتصال داده می باشند.

BorderColor

رنگ حاشیه

BorderStyle

سبک حاشیه

BorderWidth

عرض حاشیه

CausesValidation

اگر اعتبار سنجی انجام شود ، اطلاعات آن را نشان می دهد.

ChildControlCreated

نشان می دهد که کنترل مربوط به کنترل سرور فرزند ایجاد شده است.

ClientID

کنترل ID برای نشانه گذاری HTML

Context

شیء HttpContext مرتبط شده با کنترل سرور

Controls

مجموعه ای از تمام کنترل های موجود در control

ControlStyle

سبک کنترل سرور Web

CssClass

کلاس CSS

DataItemContainer

در صورتی که naming container (ظرف نامگذاری) ، گزینه IDataItemContainer  را پیاده سازی کند ، یک ارجاع به  naming container دریافت می کند.

DataKeysContainer

در صورتی که naming container (ظرف نامگذاری) ، گزینه IDataKeysControl را پیاده سازی کند ، یک ارجاع به  naming container دریافت می کند.

DesignMode

مشخص می کند که آیا کنترلی در سطح طراحی مورد استفاده قرار می گیرد.

DisabledCssClass

کلاس CSS را برای اجرای المان HTML رندر شده در زمانی که کنترل غیر فعال است ، دریافت کرده یا تنظیم می نماید.

Enabled

نشان می دهد که آیا کنترل فعال شده است.

EnableTheming

نشان می دهد که آیا تم بندی (theming) برای کنترل اعمال شده است.

EnableViewState

نشان می دهد که آیا وضعیت view کنترل حفظ می شود.

Events

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

Font

فونت

Forecolor

رنگ پیش زمینه

HasAttributes

تعیین می کند که آیا کنترل ، مجموعه صفت ها را دارا می باشد.

HasChildViewState

نشان می دهد که آیا کنترل های فرزند مربوط به کنترل جاری سرور ، دارای تنظیمات view-state ذخیره شده هستند.

Height

ارتفاع در پیکسل ها یا %

ID

شناسه برای کنترل

IsChildControlStateCleared

نشان می دهد که آیا کنترل های موجود در یک کنترل ، دارای کنترل های state هستند.

IsEnabled

مقداری را که تعیین کننده فعال بودن کنترل است ، دریافت می کند.

IsTrackingViewState

نشان می دهد که آیا کنترل سرور ، تغییرات را در view state خود ذخیره می کند.

IsViewStateEnabled

نشان می دهد آیا view state برای یک کنترل فعال شده است.

LoadViewStateById

نشان می دهد که آیا کنترل در بارگذاری view state خودش توسط ID به جای index سهیم است.

Page

صفحه ای است که حاوی کنترل می باشد.

Parent

کنترل والدین

RenderingCompatibility

نسخه ASP.NET را مشخص می کند که HTML رندر شده با آن سازگاری دارد.

Site

Container (ظرفی) است که از کنترل جاری در زمان رندر شدن در سطح طراحی (design surface) میزبانی می کند.

SkinID

Skin را برای اجرای کنترل دریافت کرده یا تنظیم می نماید.

Style

مجموعه ای از صفت های text را دریافت می کند که به عنوان صفت style در تگ outer از کنترل سرور Web رندر خواهند شد.

TabIndex

ایندکس tab را از کنترل سرور Web دریافت کرده یا تنظیم می کند.

TagKey

مقدار HtmlTextWriterTag را که مربوط به این کنترل سرور Web است ، دریافت می کند.

TagName

نام تگ کنترل را دریافت می کند.

TemplateControl

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

TemplateSourceDirectory

دایرکتوری مجازی از صفحه یا کنترلی را که حاوی یک کنترل است ، دریافت می کند.

ToolTip

متن نمایش داده شده را در هنگامی که اشاره گر موس بر روی کنترل سرور Web قرار می گیرد ، دریافت کرده یا تنظیم می کند.

UniqueID

شناسه یکتا

ViewState

دیکشنریی از اطلاعات وضعیت را دریافت می کند که view state کنترل سرور برای چندین درخواست به یک صفحه را ذخیره یا restore می کند.

ViewStateIgnoreCase

نشان می دهد که آیا شیء StateBag از نوع case-insensitive می باشد.

ViewStateMode

حالت view-state از کنترل را دریافت کرده یا تنظیم می کند.

Visible

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

Width

ضخامت کنترل سرور Web را دریافت کرده یا تنظیم می نماید

 

 

متدهای مربوط به کنترل های سرور

جدول زیر متدهای مربوط به کنترل های سرور را ارائه می دهد:

Method

توضیحات

AddAttributesToRender

صفت ها و سبک های HTML را که نیاز به رندر شدن با HtmlTextWriterTag مشخص شده دارند ، اضافه می کند.

AddedControl

پس از این که یک کنترل child به مجموعه کنترل ها از شیء کنترل اضافه شد ، فراخوانی می گردد.

AddParsedSubObject

به کنترل سرور اعلان می کند که یک عنصر XML یا HTML تجزیه شد ، و عنصر را به مجموعه کنترل مربوط به کنترل سرور اضافه می کند.

ApplyStyleSheetSkin

خصیصه های style تعریف شده در page style sheet را برای کنترل اعمال می کند.

ClearCachedClientID

زیر ساخت. مقدار ClientID  کش شده را به null تنظیم می کند.

ClearChildControlState

اطلاعات وضعیت کنترل را در کنترل های فرزند کنترل سرور حذف می کند.

ClearChildState

اطلاعات view-state  و control-state را برای تمام کنترل های فرزند کنترل سرور حذف می کند.

ClearChildViewState

اطلاعات view-state را برای تمام کنترل های فرزند کنترل سرور حذف می کند.

CreateChildControls

در ایجاد کنترل های فرزند مورد استفاده قرار می گیرد.

CreateControlCollection

یک شیء ControlCollection را برای نگهداری کنترل های فرزند ایجاد می کند.

CreateControlStyle

یک شیء style ایجاد می کند که برای پیاده سازی تمام خصیصه های style مرتبط مورد استفاده قرار می گیرند.

DataBind

یک منبع داده را به کنترل سرور و تمام کنترل های فرزند آن اتصال می دهد.

DataBind(Boolean)

یک منبع داده را به کنترل سرور و تمام کنترل های فرزند آن با یک option برای اجرای رویداد DataBinding اتصال می دهد.

DataBindChildren

یک منبع داده را به کنترل های فرزند کنترل سرور اتصال می دهد.

Dispose

یک کنترل سرور را برای انجام پاکسازی نهایی قبل از این که از حافظه آزاد شود ، فعال می کند.

EnsureChildControls

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

EnsureID

یک شناسه برای کنترل هایی ایجاد می کند که شناسه ندارند.

Equals(Object)

تعیین می کند که آیا شیء مشخص شده برابر با شیء جاری است.

Finalize

اجازه می دهد که یک شیء برای منابع آزاد تلاش کند و عملیات پاکسازی دیگری را قبل از این که شیء توسط مجموعه garbage اصلاح شود ، اجرا نماید.

FindControl(String)

Container نامگذاری جاری را برای کنترل سرور با پارامتر ID تعیین شده ، جستجو می کند.

FindControl(String, Int32)

Container نامگذاری جاری را برای کنترل سرور با یک ID تعیین شده و یک integer جستجو می کند.

Focus

تمرکز ورودی به یک کنترل را تنظیم می کند.

GetDesignModeState

داده design-time (زمان طراحی) را برای یک کنترل دریافت می کند.

GetType

نوع نمونه جاری را دریافت می کند.

GetUniqueIDRelativeTo

قسمت پیشوندی از خصیصه UniqueID کنترل مشخص شده را باز می گرداند.

HasControls

تعیین می کند که آیا کنترل سرور ، حاوی کنترل فرزندی می باشد.

HasEvents

نشان می دهد که آیا رویدادها برای یک کنترل یا کنترل های فرزند رجیستر شده اند.

IsLiteralContent

تعیین می کند که آیا کنترل سرور محتوای دقیق را نگه می دارد.

LoadControlState

اطلاعات وضعیت کنترل را restore می کند.

LoadViewState

اطلاعات وضعیت view را restore می کند.

MapPathSecure

مسیر فیزیکی را که یک مسیر مجازی ، مطلق یا نسبی به آن داده شده است ، بازیابی می کند.

MemberwiseClone

یک shallow copy از شیء جاری را ایجاد می کند.

MergeStyle

هر المان غیر خالی از style تعیین شده را به کنترل web کپی می کند ، اما هیچ یک المان های style موجود از کنترل را رونوشت نمی کند.

OnBubbleEvent

تعیین می کند که آیا رویداد کنترل سرور به سلسله مراتب کنترل سرور مربوط به UI صفحه منتقل شده است.

OnDataBinding

رویداد اتصال داده را مطرح می کند.

OnInit

رویداد Init را مطرح می کند.

OnLoad

رویداد Load را مطرح می کند.

OnPreRender

رویداد PreRender را مطرح می کند.

OnUnload

رویداد Unload را مطرح می کند.

OpenFile

یک Stream مورد استفاده برای خواندن یک فایل را دریافت می کند.

RemovedControl

پس از این که کنترل فرزند از مجموعه کنترل های مربوط به شیء control حذف شود ، فراخوانی می شود.

Render

کنترل را به HTML writer مشخص شده رندر می کند.

RenderBeginTag

تک HTML opening مربوط به کنترل را به writer مشخص شده ، رندر می کند.

RenderChildren

محتویات فرزندان یک کنترل سرور را به یک شیء ارائه شده HtmlTextWriter ، که محتویات رندر شده را در کلاینت می نویسد ، ارسال می کند.

RenderContents

محتویات کنترل را به writer خاصی رندر می کند.

RenderControl(HtmlTextWriter)

محتویات کنترل سرور را به یک شیء ارائه شده HtmlTextWriter ارسال می کند و اگر ردیابی (tracing) فعال باشد ، اطلاعات ردیابی کنترل را ذخیره می کند.

RenderEndTag

تگ HTML closing را به writer خاصی رندر می کند.

ResolveAdapter

آداپتور کنترلی را که مسئول رندر کردن کنترل خاصی است ، دریافت می کند.

SaveControlState

تغییرات مربوط به وضعیت کنترل سرور را از زمان برگشت دادن صفحه به سرور ، ذخیره می کند.

SaveViewState

هر وضعیتی را که پس از فراخوانی متد TrackViewState ، اصلاح شده ، ذخیره می کند.

SetDesignModeState

داده های زمان طراحی (design-time) برای یک کنترل را تنظیم می کند.

ToString

رشته ای را که نشان دهنده شیء جاری است ، باز می گرداند.

TrackViewState

کنترلی را برای ردیابی تغییرات به view state خود اعمال می کند تا این تغییرات بتوانند در خصیصه view state شیء ذخیره شوند.

 

مثال

بیایید نگاهی به یک کنترل سرور خاص (کنترل tree view) بیاندازیم. کنترل tree view در بخش navigation controls می باشد. سایر کنترل های Navigation عبارتند از: Menu control و SiteMapPath control.

یک کنترل tree view را در صفحه اضافه می کنیم. گزینه Edit Nodes … را از task ها انتخاب می کنیم. هر کدام از نودها را با استفاده از Tree view node editor مطابق شکل زیر ویرایش می کنیم:

پس از این که نودها ایجاد شدند ، design view مطابق تصویر زیر خواهد بود:

Task مربوط به AutoFormat… اجازه می دهد که tree view را مطابق تصویر زیر فرمت کنیم:

یک کنترل label و یک کنترل text box به صفحه اضافه کرده و نام آنها را به ترتیب lblmessage  و txtmessage  قرار می دهیم.

چند خط کد می نویسیم تا مطمئن شویم که در هنگامی که یک نود خاص انتخاب می شود ، کنترل label ، متن نود را نمایش می دهد و Text box ، تمام نودهای child زیر آن در صورت وجود ، نمایش می دهد. کد پشت صحنه فایل باید مانند کد زیر باشد:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;
 
namespace eventdemo {
   public partial class treeviewdemo : System.Web.UI.Page {
   
      protected void Page_Load(object sender, EventArgs e) { 
         txtmessage.Text = " "; 
      }
      
      protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) {
      
         txtmessage.Text = " "; 
         lblmessage.Text = "Selected node changed to: " + TreeView1.SelectedNode.Text;
         TreeNodeCollection childnodes = TreeView1.SelectedNode.ChildNodes;
         
         if(childnodes != null) {
            txtmessage.Text = " ";
            
            foreach (TreeNode t in childnodes) {
               txtmessage.Text += t.Value;
            }
         }
      }
   }
}

صفحه را برای مشاهده تأثیر تغییرات اعمال شده ، اجرا می نماییم. می توانیم گره را گسترش (expand) داده یا ببندیم (collapse).

 

فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات: آموزش ASP.NET

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …

دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…

سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

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

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید