PDA

View Full Version : Web Custom Control



sm
چهارشنبه 07 اردیبهشت 1384, 10:45 صبح
با سلام
می خواستم از دوستان تقاضا کنم اگر در مورد نحوه ساخت و استفاده Custom Control مطالبی یا مثالی دارند در اختیارم قرار بدهند
من می خوام یه CC رو بسازم که Textbox هست و دارای Peropery هایی باشد که با ست کردن اونها بتوان فقط اعداد یا حروف را قبول کرد
ممنون

omid_Ahmadi
چهارشنبه 07 اردیبهشت 1384, 10:59 صبح
طراحی Web Controlها در کل کار راحتی نیست و مشکله. اما این کاری که شما گفتید به راحتی و با ایجاد یک کلاس جدید در قسمت Web Control Library و inherit کردن اون از کلاس TextBox و بعد overload کردن و یا اضافه کردن یک سری توابع و متدهای جدید به اون امکان پذیره. توی MSDN اطلاعات بیشتری در این زمینه میتونی پیدا کنی.
موفق باشی.


بیائید تیمی کار کنیم

چشم :)

:sunglass:

titbasoft
چهارشنبه 07 اردیبهشت 1384, 11:37 صبح
1) یک پروژه از نوع Class Library و با یک نام مثل myDLL بسازید
2) یک reference به system.web.dll اضافه کنید
3) کلاس جاری تون رو به نام دلخواه مثلا myButton تغیر نام بدید.
4) کلاس Web.UI.WebControls.WebControl رو inherits کنید
5) کلاس System.ComponentModel رو imports کنید
6) متد Render رو انتخاب کنید (این متد رو از لیست متد های Overrides) انتخاب کنید
7) کد زیر را به آن اضافه کنید:

writer.write ("<input type='button' value='sample button' onclick='alert(""hi user"");'>")
8) پروژتون رو build کنید

برای استفاده از اون هم:
1) یک پروژه از نوع web application بسازید
2) ترجیها اون DLL ای رو که نتیجه Build کردن پروژه بالا است رو در root پروژتون کپی کنید و یک reference از اون به پروژتون اضافه کنید
3) در بالای صفحه ASPX تون تگ register رو به صورت زیر اضافه کنید:

<%@ register tagprefix="myTag" namespace="myDLL" assembly="myDLL"%>
4) هرجایی که می خواهید از اون استفاده کنید تگ زیر رو اضافه کنید

<myTag:myButton runat=server></myTag:myButton>

البته این کوچکترین و راحت ترین چیزیه که می شه نوشت اما امکانات این نوع کنترل خیلی فراتر از این چیزها است :wink:
در ضمن مخصوصا source code براتون نزاشتم که باهاش در گیر بشید و بهتر یاد بگیریدش. :flower:

sm
پنج شنبه 09 تیر 1384, 12:12 عصر
خیلی خیلی ممنونم
با Custom Colntrol Library کار کردم . توابع جاوا اسکریپت برای Textbox نوشتم و مشکلم حل شد.