چطور در SQL اطلاعات قدیمی را پاک کنیم
DELETE FROM TableName WHERE DATEADD(year, 2, CreateDate) < getdate()
تبلیغات DELETE FROM TableName WHERE DATEADD(year, 2, CreateDate) < getdate()انواع داده در sql server
با سلام خدمت شما دوستان عزیز در قسمت قبل به روش های ایجاد جداول در محیط
Microsoft sql server management studio پرداختیم . و در این جلسه همان
طور که قول دادم بودم انواع داده ها رو در این محیط بررسی می کنیم . شما در حال
ساخت جداول بعد از اسم گذاری روی متغیر (فیلد) باید نوع و مقدار حافظه مصرفی
اون رو هم تعیین کنید .
انواع داده ها در Sql Server
Boolean : این نوع داده که به صورت وسیعی معمولا در برنامه ها مورد استفاده
قرار می گیره توانایی قرار گرفتن تنها در دو حالت را داره True و False .
برای تعیین نوع یک متغییر در محیط sql server مایکروسافت به boolean کافیست
بعد از انتخاب نام نوع داده رو bit یا BIT تعیین کنید . قطعه کد زیر متغییر Show
را از نوع boolean تعیین می کند :
DECLARE @SHOW bit;
برای ست کردن متغییری از نوع boolean به راحتی می توانید از مقدار 0 برای
False و از 1 برای true استفاده کنید .
SET @SHOW = 1
SET @SHOW = 0
که در خط اول مقدار true و در خط دوم مقدار false می باشد.
Integer : این نوع داده بسیار پرکاربرده بطوری که در یک پروژه بطور متوسط
در 90 درصد جدوال حداقل یک بار از این نوع داده استفاده می کنیم و حتی بیشتر
این نوع داده در گستره اعداد 0 تا 9 هستند که توانایی مثبت یا منفی بودن هم به خود
می گیرند . مثلا 54852+ یا 745- که این نوع داده رو integer گفته می شود در
Sql server ما سه نوع از این داده را داریم که int و smallint و bigint هستند .
Int ها در محدوده عددی 2,147,483,648- تا 2,147,483,647+ قرار می گیرند
و همان طور که می بینید محدوده گسترده ای رو پوشش نمی دن . در کد زیر نحوه
استفاده از این نوع داده رو بصورت ساده مشاهده می کنید.
DECLARE @Category int;
SET @Category = 1450;
PRINT @Category;
GO
نتیجه اجرای کد بالا خروجی 1450 می باشد .
Smallint ها در محدوده کوچک 0 تا 255 هستند که کاربرد های خاصی دارند مثل
شماره دانش آموز یا صفحه روزنامه .
Bigint ها در واقع نشانگر قدرت sqlserver در پردازش اعداد هست که در محدوده
9,223,372,036,854,775,808- تا 9,223,372,036,854,775,807 قرار می گیرند
و مختص به استفاده در جاهایی هستند که تعداد داده ها بسیار زیاد باشد. در تنوع
داده ها از نوع اعداد در sql server نمی توان فقط به همین سه نوع اشاره کرد و
اعدادی از نوع اعشار و اعداد حقیقی هم می توان نام برد .
Char : این نوع داده که 8 بیت از حافظه را اشغال می کند می تواند حاوی کاراکتر ها
باشد.
Nvarchar : این داده می تواند متون را به صورت utf در خود جا دهد که
از این رو کاربرد فراوانی داره . شما می تونید مقدار این نوع داده را مشخص
کنید . مثلا nvarchar(50) که به شما امکان درج تا 50 کاراکتر را می دهد.
یا nvarchar(max) که بیشتر از 4000 کاراکتر اجازه درج دارید .
Ntext : از این نوع داده برای درج متون طولانی استفاده می شود مثل متون اخبار
یا موارد طولانی دیگر.
Date : این نوع داده برای نگهداری تاریخ ها مورد استفاده دارد که می توانید در
فرمت های زیر استفاده شود :
YYYYMMDD
YYYY-MM-DD
MM-DD-YY
MM-DD-YYYY
MM/DD/YY
MM/DD/YYYY
البته داده ها در sqlserver بسیار گسترده هستند ولی فعلا به همین چند نوع پرداختیم
که اهمیت بیشتری دارند.
<style type="text/css">
a img
{
border: none;
}
</style>جدول هستید :
1 ---- از طریق کد نویسی
2 ---- از طریق محیط محاوره ای
برای ایجاد جداول به روش کد نویسی شما باید با تابع Create Table آشنایی کافی را داشته باشید
که شکل ساده آن بصورت زیره ولی قبل اون یک یادآوری کنم و اونم اینکه برای اینکه بتونید این
کد ها رو بنویسید باید یه پنجره Query Editor جدید که در جلسه اول توضیح دادم ایجاد کنید :
CREATE TABLE TableName…
برای مثال جدولی به نام Fifa ایجاد می کنیم :
Create Table Fifa
(
PlayerID int NOT NULL Primary Key,
PlayerName nvarchar(50)
)
با استفاده از کد بالا ما جدولی به نام Fifa در دیتابیس مورد نظر ایجاد می کنیم که حاوی نام بازیکنان
هست . اگه در Object Explorer جدول مورد نظرتون رو مشاهده نمی کنید بر روی دیتابیس راست
کلیک کنید و گزینه Refresh رو بزنید تا کل دیتابیس Refresh بشه .
اما روش محاوره ای برای این کار در Object Explorer بر روی دیتابیس خودتون دابل کلیک کنید
تا محتویات اون رو بتونید ببنید . بر روی Tables هم دابل کلیک کنید تا جدول ها قابل مشاهده شوند
حالا بر روی Tables راست کلیک کنید و بر روی گزینه New Table … کلیک کنید تا پنجره ویرایش
و ایجاد جدول جدید ظاهر شود :
کار با این پنجره بسیار راحت می باشد . فیلد های مورد نظر را ایجاد کنید و کلید های ترکیبی
Ctrl + S را بفشارید تا بتونید جدولی که ساختید رو ذخیره کنید . در پنجره باز شده نام جدول خودتون
رو وارد کنید .
خب تا اینجا با طریقه ساخت دیتابیس و جدول در sql server managmet آشنا شدیم در قسمت بعد
کمی در مورد ساخت دقیق تر جدول ها و نوع داده های مورد استفاده بحث می کنیم در صورت هر
نوع سوالی برای کامنت بزارید .
با تشکر محمد مردانی
آموزش های مفید در محیط Microsoft Sql Server ( قسمت اول )
با سلام به همه دوستان با توجه به مشکلی که برای خودم در چند روز گذشته پیش اومد و متوجه
این مطلب شدم که تا چه اندازه در کار با زبان T-SQL با مشکل مواجه هستم تصمیم گرفتم تا تحقیق
در این ضمینه رو شروع کنم و به نتایج خوبی هم دست پیدا کردم . البته انتشار همه آموخته هایی
که یاد گرفتم کمی وقت گیره ولی سعی می کنم در چند جلسه با ذکر مثال همه موارد رو توضیح بدم
امیدوارم مفید واقع بشه .
ایجاد دیتابیس جدید :
بعد از لاگین در محیط Microsoft Sql Server Managemant Studio شما دو راه برای تولید
یک دیتابیس جدید دارید . 1 : استفاده از محیط محاوره ای 2 : با استفاده از کدهای T-SQL
حالا سعی می کنیم یک دیتابیس با نام News با هر دو روش بسازیم .
1 : استفاده از محیط محاوره ای :
برای این کار شما باید از سمت چپ برنامه و قسمت Object Explorer بر روی سرور خود دابل
کلیک کنید تا محتویات آن پیدا شود .

بعد از پیدا شدن محتویات Sql Server تان بر روی گزینه DataBase راست کلیک کنید و گزینه
New DataBase را انتخاب کنید . پنجره New DataBase ظاهر خواهد شد .

برای تولید دیتابیس جدید شما باید اطلاعات مربوطه را در این پنجره وارد کنید . این پنجره سه
برگه دارد که شامل General و Options و Filegroups می باشد . در برگه General و قسمت
DataBase Name شما باید نام دیتابیس را وارد کنید . از قسمت Owner شما می توانید در
واقع صاحب این دیتابیس را مشخص کنید برای این کار روی دکمه Browse که روبروی تکس
باکس مربوط به Owner قرار دارد کلیک کنید . پنجره ای باز می شود که در آن بر روی دکمه
Browse کلید کنید تا لیستی از کاربران محیط Sql Server که قبلا معرفی شدند پدیدار شود .
بر روی یک یا چند Check Box کلیک کنید و ok را بزنید .
در همین برگه و از قسمت DataBase Files شما میتوانید محدودیت حجمی برای دیتابیس خود
ایجاد کنید . حالا به برگه Options بروید از قسمت Collation نوع زبان مورد استفاده خود را
انتخاب کنید . در اکثر مواقع گزینه Server Default بهترین گزینه می باشد . زبان فارسی هم
در ورژن های جدید همایت می شود . قسمت مهم دیگه Compatibility Level هست که از
این قسمت می توانید ورژن فایل Sql Server را مشخص کنید . از قسمت Other Options
می توانید تنظیمات حساس تر را انجام دهید .
2 : استفاده از کدهای T-SQL
برای استفاده از کدهای T-SQL شما باید به محیط کد نویسی برنامه دسترسی داشته باید که به
این محیط Query Editor گفته می شه . برای دسترسی به Query Editor شما به سه طریق
می توانید عمل کتید . اول : از منوی File و قسمت New گزینه Query With Current
Connection را انتخاب
کنید . دوم : از Toolbar
گزینه
را
انتخاب کنید .
سوم : در Object Explorer بر روی نام سرور راست کلیک کنید و گزینه New Query را
انتخاب کنید . بعد از ایجاد کوئری باید شکل زیر را ببنید :

سمت راست Query Editor و سمت چپ Object Explorer .
خب برای ایجاد دیتابیس جدید باید در Query Editor کد زیر را وارد کنیم :

بعد از وارد کردن کدها در Query Editor شما باید کوئری ها را اجرا کنید . برای اجرای کوئری
یا همان Run کردن یک کوئری شما به 4 طریق می توانید عمل کنید :
اول : با فشار دکمه F5
دوم : از منوی Query گزینه Execute را انتخاب کنید
سوم : از Sql Editor Toolbar بر روی دکمه
کلیک کنید.
چهارم : در هر جای Query Editor راست کلیک کنید و گزینه Execute
بعد از اجرای کد بالا یک دیتابیس جدید به نام News به دیتابیس های شما افزوده می شود برای
دیدن دیتابیس خود از Object Explorer بر روی گزینه DataBases دابل کلیک کنید :

لیست دیتابیس های Sql Server شما ظاهر می شود . اگر نتوانستید دیتابیس خود را بیابید
بر روی DataBase راست کلیک کنید و آخرین گزینه یعنی Refresh را کلیک کنید تا دیتابیس
Refresh شود .
در قسمت های بعد بیشتر با محیط Microsoft Sql Server Management Studio آشنا می
شیم و با هم کد های پیشرفته تری رو مورد مطالعه قرار می دیم در صورت هر نوع مشکلی
در مورد موارد بالا برام کامنت بزارید حتما جواب می دم
با تشکر محمد مردانی
کاربرد : زمان
عبارت باقاعده :
^((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))$|^([01]\d|2[0-3])(:[0-5]\d){0,2}$
مقادیر صحیح :
1 AM | 23:00:00 | 5:29:59 PM
مقادیر غلط :
13 PM | 13:60:00 | 00:00:00 AM
-------------------------------------------------------------------------------------------------------------
کاربرد : ماههای میلادی
عبارت باقاعده :
^(?:J(anuary|u(ne|ly))|February|Ma(rch|y)|A(pril|ugust)|(((Sept|Nov|Dec)em)|Octo)ber)$
مقادیر صحیح :
January | May | October
مقادیر غلط :
Jan | Septem | Octo
-------------------------------------------------------------------------------------------------------------
کاربرد : عناصر html 4
عبارت باقاعده :
(<\/?)(?i:(?<element>a(bbr|cronym|ddress|pplet|rea)?|b(ase(font)?|do|ig|lockquote|ody|r|utton)?|c(aption|enter|ite|(o(de|l(group)?)))|d(d|el|fn|i(r|v)|l|t)|em|f(ieldset|o(nt|rm)|rame(set)?)|h([1-6]|ead|r|tml)|i(frame|mg|n(put|s)|sindex)?|kbd|l(abel|egend|i(nk)?)|m(ap|e(nu|ta))|no(frames|script)|o(bject|l|pt(group|ion))|p(aram|re)?|q|s(amp|cript|elect|mall|pan|t(r(ike|ong)|yle)|u(b|p))|t(able|body|d|extarea|foot|h|itle|r|t)|u(l)?|var))(\s(?<attr>.+?))*>
مقادیر صحیح :
<HTML> | <a href="link.html">Link</a>
مقادیر غلط :
<xml> | <phonytag> | <image>
-------------------------------------------------------------------------------------------------------------
کاربرد : اعداد 0 تا 9
عبارت باقاعده :
^\d$
مقادیر صحیح :
1 | 2 | 3
مقادیر غلط :
a | 324 | num
-------------------------------------------------------------------------------------------------------------
کاربرد : اعداد مثبت
عبارت باقاعده :
^\d+$
مقادیر صحیح :
123 | 10 | 54
مقادیر غلط :
-54 | 54.234 | abc
-------------------------------------------------------------------------------------------------------------
کاربرد : ایمیل
عبارت باقاعده :
^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$
مقادیر صحیح :
joe@aol.com | ssmith@aspalliance.com | a@b.cc
مقادیر غلط :
joe@123aspx.com | joe@web.info | joe@company.co.uk
-------------------------------------------------------------------------------------------------------------
کاربرد : آدرس اینترنتی
عبارت باقاعده :
^(http(?:s)?\:\/\/[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*\.[a-zA-Z]{2,6}(?:\/?|(?:\/[\w\-]+)*)(?:\/?|\/\w+\.[a-zA-Z]{2,4}(?:\?[\w]+\=[\w\-]+)?)?(?:\&[\w]+\=[\w\-]+)*)$
مقادیر صحیح :
http://website.com | http://subdomain.web-site.com/cgi-bin/perl.cgi?key1=value1&key2=value2
مقادیر غلط :
http://website.com/perl.cgi?key= | http://web-site.com/cgi-bin/perl.cgi?key1=value1&key2
-------------------------------------------------------------------------------------------------------------
کاربرد : آدرس عکس اینترنتی
عبارت باقاعده :
^(http\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(?:\/\S*)?(?:[a-zA-Z0-9_])+\.(?:jpg|jpeg|gif|png))$
مقادیر صحیح :
http://website.com/directory/image.gif
مقادیر غلط :
www.website.com/image.php
-------------------------------------------------------------------------------------------------------------
کاربرد : آدرس آی پی
عبارت باقاعده :
^(10\.[0-9]|[1-9][0-9]|[1-2][0-5][0-5]\.[0-9]|[1-9][0-9]|[1-2][0-5][0-5]\.[0-9]|[1-9][0-9]|[1-2][0-5][0-5])$
مقادیر صحیح :
10.0.0.0 | 10.255.255.255
مقادیر غلط :
17.16.0.0 | 192.168.255.255
-------------------------------------------------------------------------------------------------------------
کاربرد : مقادیر پول به دلار
عبارت باقاعده :
\\$\\d+[.]?\\d*
مقادیر صحیح :
$ 10, $45.90
مقادیر غلط :
10, 89
با سلام.
برای دفع حملات Xss در Asp.net راه های خیلی زیادی وجود داره که بعضی از اونها خیلی پیچیده و بعضی دیگه خیلی آسونه . امروز یه روش خیلی ساده رو آموزش می دم و امیدوارم بدردتون بخوره البته این روش چندان پیشرفته و حرفه ای نیست ولی تا حدود زیادی می تونه به شما در دفع حملات Xss که با استفاده از تزریق کدهای Html انجام می شه رو بگیرید . ابتدا تابع زیر را تعریف کنید :
Public Shared Function RemoveHTML(ByVal strText As String) As String
Dim TAGLIST As String
TAGLIST = “;!–;!DOCTYPE;A;ACRONYM;ADDRESS;APPLET;AREA;B;BASE;BASEFONT;” &
“BGSOUND;BIG;BLOCKQUOTE;BODY;BR;BUTTON;CAPTION;CENTER;CITE;CODE;” &
“COL;COLGROUP;COMMENT;DD;DEL;DFN;DIR;DIV;DL;DT;EM;EMBED;FIELDSET;” &
“FONT;FORM;FRAME;FRAMESET;HEAD;H1;H2;H3;H4;H5;H6;HR;HTML;I;IFRAME;IMG;” &
“INPUT;INS;ISINDEX;KBD;LABEL;LAYER;LAGEND;LI;LINK;LISTING;MAP;MARQUEE;” &
“MENU;META;NOBR;NOFRAMES;NOSCRIPT;OBJECT;OL;OPTION;P;PARAM;PLAINTEXT;” &
“PRE;Q;S;SAMP;SCRIPT;SELECT;SMALL;SPAN;STRIKE;STRONG;STYLE;SUB;SUP;” &
“TABLE;TBODY;TD;TEXTAREA;TFOOT;TH;THEAD;TITLE;TR;TT;U;UL;VAR;WBR;XMP;”
Const BLOCKTAGLIST = “;APPLET;EMBED;FRAMESET;HEAD;NOFRAMES;NOSCRIPT;OBJECT;SCRIPT;STYLE;”
Dim nPos1 As Integer
Dim nPos2 As Integer
Dim nPos3 As Integer
Dim strResult As String
Dim strTagName As String
Dim bRemove As Boolean
Dim bSearchForBlock As Boolean
nPos1 = InStr(strText, “<”)
Do While nPos1 > 0
nPos2 = InStr(nPos1 + 1, strText, “>”)
If nPos2 > 0 Then
strTagName = Mid(strText, nPos1 + 1, nPos2 – nPos1 – 1)
strTagName = Replace(Replace(strTagName, vbCr, ” “), vbLf, ” “)
nPos3 = InStr(strTagName, ” “)
If nPos3 > 0 Then
strTagName = Left(strTagName, nPos3 – 1)
End If
If Left(strTagName, 1) = “/” Then
strTagName = Mid(strTagName, 2)
bSearchForBlock = False
Else
bSearchForBlock = True
End If
If InStr(1, TAGLIST, “;” & strTagName & “;”, vbTextCompare) > 0 Then
bRemove = True
If bSearchForBlock Then
If InStr(1, BLOCKTAGLIST, “;” & strTagName & “;”, vbTextCompare) > 0 Then
nPos2 = Len(strText)
nPos3 = InStr(nPos1 + 1, strText, “</” & strTagName, vbTextCompare)
If nPos3 > 0 Then
nPos3 = InStr(nPos3 + 1, strText, “>”)
End If
If nPos3 > 0 Then
nPos2 = nPos3
End If
End If
End If
Else
bRemove = False
End If
If bRemove Then
strResult = strResult & Left(strText, nPos1 – 1)
strText = Mid(strText, nPos2 + 1)
Else
strResult = strResult & Left(strText, nPos1)
strText = Mid(strText, nPos1 + 1)
End If
Else
strResult = strResult & strText
strText = “”
End If
nPos1 = InStr(strText, “<”)
Loop
strResult = strResult & strText
RemoveHTML = strResult
End Function
استفاده از این کلاس بسیار ساده می باشد. همان طور که در کد زیر می بینید ابتدا با استفاده از تابع HtmlEncode تمام کدهای html را فقط نمایش دادنی می کنیم (در صورت اجرا هیچ اثری روی صفحه نمی گذارند) و بعد کدهای html را توسط RemoveHTMLAllTage حذف می کنیم.
Email =RemoveHTMLAllTage(Server.HtmlEncode(Emailtxt1.Text), False)
شاید این سوال پیش بیاید که چرا باید از این تابع استفاده شود در صورتی که HtmlEncode قبلا کدها را بی اثر می کند ؟ که باید بگم این تابع صرفا برای حذف element های html در داده های رشته ای می باشد ولی در بعضی موارد می تواند کمک شایانی در دفع حملات کند.
با سلام به همه دوستان . امروز به ذکر یک مثال ساده به بررسی چند تابع ابتدایی jquery می پردازیم که امیدوارم مفید واقع شود .
ابتدا یک فایل html ساده با محتویات زیر بسازید :
حالا محتویات قسمت head را به شکل زیر ویرایش کنید :
در قسمت body هم سه پاراگراف به شکل زیر اضافه کنید :
با اجرای فایل در مرورگر چنین شکلی خواهید داشت :
با حرکت ماوس روی هر کدام از پاراگراف ها رنگ پس زمینه به زرد تبدیل می شود و نکته جالبتر با کلیک روی هرکدام از آنها می توان حذفش کرد.
بررسی کدها :
بخش آبی : کدهای جی کوئری در این بخش قرار می گیرند . البته می توانید این بخش را حذف کنید ولی بعد از اینکار باید کدهای جی کوئری را بعد از پاراگراف ها قرار دهید تا اجرا شود.
بخش قرمز : این بخش از جی کوئری به صفحه فرمان می دهد تا بعد از کلیک شدن روی پاراگراف (p) این بخش را بصورت پیمایش بسوی بالا پنهان کند که اینکار بوسیله تابع slideup انجام می شود.
بخش سبز : این کد جی کوئری در واقع وقتی ماوس روی یک پاراگراف پیمایش می کند (hover) یک کلاس به پاراگراف اضافه می کند( hilite اسم کلاسی است که قبلا در قسمت head نوشته ایم) و وقتی از روی آن عبور می کند کلاس را حذف می کند.
برای دانلود نمونه برنامه اینجا کلیک کنید.
چند روزه که بد جوری تو نخ آجاکس جی کوئری هستم چون خیلی توپه شما براحتی و بدون کد نویسی های چند صد خطی می تونید با فراخوانی یک Web Method در سمت سرور توسط تابع $.ajax جی کوئری هر کاری کنید باور کنید برای یه برنامه نویس رویایی تر از این نمی شه . تصمیم گرفتم در یک مثال عملی کمی از شیرینی بچشیم .
ایجاد یک برنامه نمونه برای کار با Ajax در جی کوئری
برای شروع کار باید خاطر نشان کنم ما از Visual Studio 2010 استفاده می کنیم ولی در ورژن های پایین تر هم امکان استفاده فراهم هست . خب بریم سر کارمون یک پروژه وب جدید بسازید :

بعد از زدن دکمه ok و ایجاد پروژه ( توجه کنید پروژه VB باشه نه C#) یک User control جدید در ریشه پروژه ایجاد کنید که اسمش mycontrol.ascx باشه .

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

خب حالا یک دیتابیس داریم که جدولی به نام tbl1 در آن ساختیم با محتویات بالا . به User Control برگردید و در حالت Design درون آن یک Gridview و یک SqlDataSource قرار دهید . Sqldatasource را طوری تنظیم کنید که محتویات جدول tbl1 رو برگردونه و خاصیت DataSourceID ی Gridview را روی همین SqlDataSource تنظیم کنید . کد شما باید شبیه زیر باشد :

تا اینجای کار کارهای خیلی ساده و ابتدایی انجام دادیم که بارها در پروژه های زیادی انجام دادیم . ما برای شروع کار باید دو فایل جاوا اسکریپت جی کوئری با نام های
jquery-1.4.1.min.js
jquery.blockUI.js
نیاز داریم البته در مورد فایل جی کوئری فکر کنم ورژن های پایین تر هم جواب بده . این فایل ها در پروژه نمونه که آخر مقاله برای دانلود قرار داده ام وجود دارد . حالا به صفحه Default.aspx برگردید و فایل های جاوا را به صفحه اضافه کنید .
![]()
علاوه بر اسکریپت های بالا به کد Ajax جی کوئری هم نیاز داریم تا عملیات Load کنترل را انجام بده پس Script زیر را هم به پروژه اضافه کنید :

حالا در حالت Design یک Input(button) به صفحه اضافه کنید و بعد از آن یک Div که User Control را در آن لود می کنیم ایجاد می کنیم توجه کنید ID ای که برای Div در نظر می گیرید حتما همان باشد که در اسکریپت آژاکس نوشته شده در اینجا result می باشد مثل کد زیر :
![]()
حالا نوبت اصلی ترین مرحله هست که همون کد نویسی Server Side هست . به قسمت code view صفحه default بروید . دو Name space زیر را وارد کنید :
![]()
بعد از وارد کردن این دو Name Space نوبت WebMethod می باشد که تابع load ی که برای User Control نیاز داریم رو فراخوانی می کنه و به شکل زیر می باشد :

و تابع فراخواننده :

خب کار تمامه برنامه را اجرا کنید

بله با زدن دکمه یک پیغام چند لحظه صبر کنید ظاهر می شود و با Render شدن User Control پیغام محو شده و صفحه به شکل بالا User Control مثل شعبده بازی ظاهر می شه . این همون روش خیلی معروف هست که سایت های بزرگ از آن استفاده می کننده حتما دید .
برای دانلود نمونه برنامه اینجا کلیک کنید.