ASP.NET - سمت مشتری

کدنویسی سمت کلاینت ASP.NET دو جنبه دارد:اسکریپت های سمت کلاینت: روی مرورگر اجرا می شود و به نوبه خود سرعت اجرای صفحه را افزایش می دهد. به عنوان مثال، اعتبار سنجی داده های سمت سرویس گیرنده که می تواند داده های نامعتبر را دریافت کند و بدون مراجعه رفت و برگشت به سرور به کاربر هشدار دهد.کد منبع سمت سرویس گیرنده: صفحات ASP.NET این را تولید می کنند. به عنوان مثال، کد منبع HTML یک صفحه ASP.NET حاوی تعدادی فیلد پنهان و بلوک های کد جاوا اسکریپت است که به طور خودکار تزریق می شود، که اطلاعاتی مانند حالت نمایش را نگه می دارد یا کارهای دیگری را برای کارکرد صفحه انجام می دهد.اسکریپت های سمت مشتریتمام کنترل‌های سرور ASP.NET امکان فراخوانی کد سمت کلاینت نوشته شده با جاوا اسکریپت یا VBScript را می‌دهند. برخی از کنترل های سرور ASP.NET از برنامه نویسی سمت سرویس گیرنده برای ارائه پاسخ به کاربران بدون ارسال مجدد به سرور استفاده می کنند. به عنوان مثال، کنترل های اعتبارسنجی.جدای از این اسکریپت ها، کنترل Button دارای ویژگی OnClientClick است که امکان اجرای اسکریپت سمت کلاینت را با کلیک روی دکمه فراهم می کند.کنترل‌های HTML سنتی و سرور دارای رویدادهای زیر هستند که می‌توانند یک اسکریپت را هنگام بالا کشیدن اجرا کنند:شرح رویدادروشن شدن زمانی که کنترل تمرکز خود را از دست می دهد هنگامی که کنترل فوکوس را دریافت می کند وقتی روی کنترل کلیک می شود هنگامی که مقدار کنترل تغییر می کند وقتی کاربر کلیدی را فشار می دهد هنگامی که کاربر یک کلید الفبایی را فشار می دهد زمانی که کاربر کلیدی را رها می کند هنگامی که کاربر نشانگر ماوس را روی کنترل حرکت می دهدonserverclick هنگامی که روی کنترل کلیک می شود، رویداد ServerClick کنترل را افزایش می دهدکد منبع سمت مشتریقبلاً بحث کردیم که صفحات ASP.NET معمولاً در دو فایل نوشته می شوند:فایل محتوا یا فایل نشانه گذاری (.aspx)فایل کد پشتفایل محتوا حاوی تگ‌های کنترلی HTML یا ASP.NET و لفظ‌ها برای تشکیل ساختار صفحه است. کد پشت فایل حاوی تعریف کلاس است. در زمان اجرا، فایل محتوا تجزیه شده و به یک کلاس صفحه تبدیل می شود.این کلاس به همراه تعریف کلاس در فایل کد و کد تولید شده توسط سیستم، با هم کد اجرایی (مجموعه) را می سازند که تمام داده های ارسال شده را پردازش می کند، پاسخ تولید می کند و آن را به مشتری ارسال می کند.صفحه ساده را در نظر بگیرید:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="clientside._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" ="Button1_Click" Text="Click" /> </div> <hr /> <h3> <asp:Label ID="Msg" runat="server" Text=""> </asp:Label> </h3> </form> </body>هنگامی که این صفحه در مرورگر اجرا می شود، گزینه View Source صفحه HTML ارسال شده توسط ASP.Net را به مرورگر نشان می دهد:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title> Untitled Page </title> </head> <body> <form name="form1" method="post" action="Default.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTU5MTA2ODYwOWRk31NudGDgvhhA7joJum9Qn5RxU2M=" /> </div> <div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKpjZj0DALs0bLrBgKM54rGBhHsyM61rraxE+KnBTCS8cd1QDJ/"/> </div> <div> <input name="TextBox1" type="text" id="TextBox1" /> <input type="submit" name="Button1" value="Click" id="Button1" /> </div> <hr /> <h3><span id="Msg"></span></h3> </form> </body></html>اگر کد را به درستی مرور کنید، می بینید که دو تگ <div> اول حاوی فیلدهای مخفی هستند که وضعیت view و اطلاعات اعتبارسنجی را ذخیره می کنند.