هنگامی که شما یک کنترل وب همانند GridView , FormView و یا DetailsView را با یک کنترل سرور داده به کار می برید ، کنترل وب می تواند نام و مقادیر پارامترهای استفاده شده را بر حسب * Bound Field های خود به کنترل سرور داده ارسال کند . سپس کنترل سرور داده نام و مقادیر پارامترهای دریافتی را با هم ترکیب کرده و در مجموعه پارامترهای لازم برای عملیات های Select یا Update استفاده می کند .

Bound Field : کنترل های وب مانند GridView یا FormView اطلاعات دریافتی را به صورت جدول وار در سطرها و ستون ها نمایش می دهند . به هر یک از خانه های این جدول ها ، یک Bound Field گفته می شود ، که نوع آن بایستی متن ( Text ) باشد . در واقع هر فیلد در رکورد ، یک Bound Field است .

دیکشنری های ارسال شده به کنترل سرور داده :

هنگامی که یک کنترل وب ، عملی مثل Select یا Update را از کنترل سرور داده درخواست می کند ، به همراه آن یک یا چند مجموعه IDictionary که شامل نام و مقادیر پارامترهای ارسالی برای آن عمل داده ای است را به کنترل سرور داده ارسال می کند . این دیکشنری ها برای هر پارامتر شامل یک جفت اطلاعات نام / مقدار ( Name / Value ) هستند ، که کنترل وب نام و مقادیر آنها را از کنترل های فرزند و یا کنترل های متصل به خود استخراج می کند .
برای مثال اگر یک کنترل وب را در حالت Edit Mode قرا بدهید ، فیلدهای اطلاعاتی آن به صورت کادر متن یا کادر کشویی در می آیند . کنترل وب اطلاعات این کنترل ها به همراه نام فیلد آنها را پس از ویرایش توسط کاربر ، در قالب یک مجموعه به کنترل وب ارسال می کند . همچنین برای اعمالی مانند Update یا Delete ، کنترل وب ممکن است یک دیکشنری خاص را که حاوی اطلاعات اصلی رکوردها ( یعنی اطلاعات رکورد قبلا از آنکه ویرایش یا حذف شود ) می باشد ، را به کنترل وب ارسال کند .

جفتن های نام / مقدار برای پارامترها از طریق دیکشنری های زیر به کنترل های سرور داده ارسال می شوند :

مجموعه مقادیر ( Values ): این دیکشنری برای یک عمل ورود اطلاعات جدید ( Insert ) ارسال شده و شامل جفت نام / مقدار برای یک رکورد جدید است . مجموعه نام فیلدها و مقادیر آنها از کنترل های فرزند کنترل وب که در یک مجموعه InsertItemTemplate قرار داشته و یا فیلد های یک کنترل DetailsView که خاصیت InsertVisible آن بر روی مقدار True تنظیم شده است ، استخراج می شود .
مجموعه کلیدها ( Keys ) : این مجموعه برای عملیات های ویرایش ( Update ) و یا حذف ( Delete ) داده ، ارسال شده و شامل کلید اصلی و یا کلید فرعی برای رکوردی در جدول داده هاست که کنترل وب مورد نظر در حال ویرایش و یا حذف آن است . در واقع این مجموعه آدرس رکوردی که قرار است حذف و یا ویرایش شود را به کنترل سرور داده ارسال می کند . اگر امکان ویرایش کلیدها نیز وجود داشته باشد ، این مجموعه شامل مقادیر اصلی کلید رکورد قبل از اینکه ویرایش شود ، نیز هست . هنگامی که یک کنترل وب ،اطلاعات ارسالی از طرف یک کنترل داده را ردیافت می کند ، آنها را در حافظه * ViewState خود نگهداری می کند و در زمانی که عملیات Update و یا Delete را انجام می دهد ، مجموعه کلید های دریافتی را با اطلاعات موجود در حافظه ViewState خود تلفیق می کند . اگر خاصیت ViewState کنترل وب مورد استفاده ، بر روی مقدار False تنظیم شده باشد ، اطلاعات مجموعه کلیدها به تنهایی در کنترل وب استفاده شده و قبلا اطلاعاتی در حافظه ViewState آن ذخیره نشده است ، که با مجموعه کلیدها تلفیق شود .
* حافظه ViewState : این حافظه یکی از خواص برخی از کنترل های ASP.NET است ، که اطلاعات مختلفی از جمله اطلاعات سرور ، مقادیر داده ها و پارامترهای ارسالی و … را در خود نگهداری کرده و می توان آنها را بعدا مورد استفاده قرار داد . برای فعال سازی این حافظه باید خاصیت EnableViewState کنترل را بر روی مقدار True تنظیم کرد .
مجموعه مقادیر جدید ( New Values ) : این مجموعه برای یک عمل Update ارسال می شود و شامل جفت های نام / مقدار جدید برای رکوردی است که می خواهد ویرایش شود . این مجموعه داده های جدیدی را که باید بهع منبع داده ای ارسال شود را نگهداری می کند . نام فیلدها و مقادیرشان برای مجموعه New Values از کنترل های فرزند کنترل وب که در مجموعه EdititemTemplate و یا bound Field های یک کنترل DetailsView که خاصیت ReadOnly آن روی مقدار False تنظیم شده است ، استخراج می شود .