تبلیغات
آموزشASP.NET - كنترل های منبع داده در ASP.NET 2.0 ( بخش اول )
 
فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
یكی از مهمترین اهداف پیاده سازی صفحات وب ، ارائه اطلاعات مورد نیاز كاربران با توجه به اهداف عملیاتی یك وب سایت ( سرویس های شخصی و یا عمومی )  است . شاید به همین دلیل باشد كه یكی از چالش های مهم در خصوص طراحی صفحات  ، ایجاد صفحاتی است  كه حاوی جدیدترین و در عین حال صحیح ترین اطلاعات باشند .
برای نمایش اطلاعات بر روی صفحات وب از چهار روش و یا منبع اساسی استفاده می گردد :
  • درج محتویات ثابت به صورت دستی در بطن صفحات : در این روش محتویات مورد نظر مستقیما" و به صورت دستی در بطن یك صفحه وب قرار داده می شود. برای تعریف یك ساختار نمایشی مناسب از تگ های Html استفاده می گردد . به منظور تولید صفحات، می توان از ابزارهای تولید مختلفی نظیر FrontPage و یا حتی یك ادیتور ساده متنی استفاده نمود .

~
  • تولید محتویات با استفاده از اسكریپت های سمت سرویس گیرنده یا سرویس دهنده : در این روش به صورت اتوماتیك ، مجموعه ای از اسكریپت های  سمت سرویس دهنده و یا سرویس گیرنده اجراء و اطلاعات مورد نیاز به منظور نمایش در صفحات وب را تولید می نمایند . اطلاعات ممكن است به صورت ثابت و یا با بكارگیری مجموعه ای از توابع تعبیه شده در یك زبان برنامه نویسی و یا اشیاء سمت سرویس دهنده، تولید گردند.

  • پردازش بر روی داده های ورودی : در این روش با پردازش بر روی داده ورودی ، اطلاعات مورد نیاز به منظور نمایش بر روی صفحات وب تولید می گردد . در واقع ، بر روی داده های خام پردازش مورد نیاز توسط اسكریپت ها انجام تا اطلاعات جدیدی برای نمایش بر روی صفحات وب تولید گردد .

  • بازیابی و پردازش اطلاعات از منابع داده خارجی :  در این روش اطلاعات از منابع داده خارجی استخراج ( بازیابی ) و بر روی صفحات وب نمایش داده می شود . اطلاعات شخصی ، سازمانی و ... در منابع ذخیره سازی عمومی ذخیره و پس از بازیابی و در صورت لزوم انجام پردازش های مورد نیاز بر روی صفحات وب نمایش داده می شوند  . 

  • هدف اصلی صفحات ASP.NET كاهش و یا حذف فرآیند درج دستی اطلاعات درون صفحات وب است . با تركیب محتویات مورد نیاز به منظور نمایش در صفحات وب با تگ های Html ، نگهداری ، پشتیبانی و بهنگام سازی صفحات وب برای پیاده كنندگان مشكل می گردد . بهنگام سازی و ویرایش محتویات صفحات وب به صورت دستی ، علاوه بر این كه توجیه زمانی ندارد ،‌ مشكلات خاص خود را برای پیاده كنندگان صفحات وب نیز به دنبال خواهد داشت .
    بهترین گزینه به منظور نگهداری اطلاعات ، جداسازی آنان از صفحاتی است كه قرار است آنان را نمایش دهند . در چنین مواردی صرفا" در صفحات وب ، مكان و فرمت نمایش اطلاعات مشخص می گردد و اطلاعات در مكانی متمایز از صفحات وب نگهداری می گردند . پس از درخواست یك صفحه ، اطلاعات از منابع داده بازیابی و در محل تعیین شده برروی صفحات وب قرار خواهند گرفت . در واقع ، صفحات بطور اتوماتیك و پویا در زمان درخواست ایجاد و شامل آخرین اطلاعاتی می باشند كه بصورت بلادرنگ و Live از منابع داده خارجی استخراج شده اند .
    در ادامه به بررسی چهار روش فوق خواهیم پرداخت تا از این رهگذر جایگاه كنترل های منبع داده ارائه شده در ASP.NET 2.0 مشخص و با این نوع كنترل ها از دو بعد مفاهیم و عملیات آشنا شویم .

    روش اول : درج محتویات ثابت به صورت دستی در بطن صفحات
    روش استاندارد به منظور ارائه اطلاعات درون صفحات وب ، درج مستقیم و دستی آنان درون صفحات وبی است كه فرمت و قالب نمایش آنان توسط تگ های html مشخص شده است .
    مثال : در مثال زیر اطلاعات به صورت دستی در یك صفحه وب درج و از تگ های Html به منظور تعریف فرمت نمایش آنان استفاده شده است .

    <html>
    <body>
    <h3> درج محتویات ثابت به صورت دستی </h3>
    <p>


    برای ایجاد این صفحه ، اطلاعات مورد نیاز بطور مستقیم و به صورت دستی درون صفحه قرار داده شده اند  .
    برای تعریف مجموعه قوانین لازم به منظور نحوه نمایش اطلاعات از تگ های Html استفاده شده است . در زمانی كه لازم است محتویات این صفحه تغییر یابد ، می بایست صفحه را به صورت دستی ویرایش تا متناسب با آن اطلاعات جدید نمایش داده شوند .   
     

    </p>
    </body>
     </html>

     

    روش دوم : تولید محتویات با استفاده از اسكریپت های سمت سرویس گیرنده یا سرویس دهنده
    در این روش ، اطلاعاتی كه قرار است درون صفحات نمایش داده شوند ، توسط اسكریپت هائی كه قادر به تولید محتویات ثابت و یا متغیر و پویا می باشند ، ایجاد می گردد. به منظور تولید و نمایش اطلاعات در زمان نمایش صفحات وب ، می توان با توجه به جایگاه روتین Page_Laod از آن استفاده و پس از تولید اطلاعات توسط اسكریپت ، آنان را با اطلاعات ثابت تركیب و در نهایت بر روی صفحات وب نمایش داد . در چنین مواردی می توان فرآیند تولید و در نهایت نمایش اطلاعات را به خواسته های كاربران وابسته نمود تا در ادامه متناسب با خواسته آنان روتین های مورد نظر فعال و از طریق اسكریپت های موجود در آنان ، اطلاعات مورد نیاز تولید گردد.
    مثال : در مثال زیر ،  اسكریپت موجود در روتین Page_Load اجراء و پس از تولید اطلاعات مورد نیاز ، با استفاده از تگ های Html نحوه نمایش آنان بر روی صفحه وب مشخص می گردد . در مثال فوق از تابع Date ویژوال بیسیك و كنترل های سرویس دهنده خروجی استفاده شده است .
    پس از تولید اطلاعات توسط اسكریپت ، به منظور نمایش آنان در صفحه از كنترل سرویس دهنده خروجی <asp:Label> استفاده شده است . به كنترل فوق یك مشخصه ( id ) نسبت داده شده است تا امكان دستیابی به آن از طریق اسكریپت های سمت سرویس دهنده موجود در روتین Page_Load فراهم گردد. اسكریپت فوق یك رشته از كاراكترهای متنی و Html را به خصلت Text  كنترل label و با نام Paragraph نسبت می دهد. توجه داشته باشید كه در این مثال از هیچگونه تگ Html بطور مستقیم استفاده نشده است .

    <SCRIPT Runat="Server">

    Sub Page_Load

    Heading.Text = "<h3>تولید خروجی با استفاده از اسكریپت</h3>"

    Paragraph.Text = "<p>امروز, <span style=""color:red"">" & _
    Format(DateString, "Long Date") & "</span>, " & _
    "این خروجی توسط اسكریپت تولید شده است  " & _
    "پس از تولید اطلاعات‌ ، ماحصل آن در یك كنترل سرویس دهنده خروجی  ، " & _
    " نوشته می گردد . تاریخ نمایش داده شده ، همواره بهنگام بوده و   " & _
    " ضرورتی به ویرایش صفحه وجود ندارد  " & _
    " </p>"

    End Sub

    </SCRIPT>


    <html>
    <body>
    <form Runat="Server">

    <asp:Label id="Heading" Runat="Server"/>
    <asp:Label id="Paragraph" Runat="Server"/>

    </form>
    </body>
    </html>

    روش سوم : پردازش بر روی داده های ورودی
    در این روش ، اطلاعات اولیه توسط كاربر ارائه و در ادامه از آنان به منظور تولید خروجی استفاده می گردد . در نهایت اطلاعات تولید شده با استفاده از كنترل ها‍ ی سرویس دهنده خروجی بر روی صفحه وب نمایش داده می شود .
    مثال : در مثال زیر ، یك كنترل TextBox در اختیار كاربر قرار داده شده است تا داده مورد نظر را وارد نماید . پس از درج داده توسط كاربر و كلیك بر روی دكمه "Submit"  ، روتین مربوطه فعال و پس از انجام عملیات مورد نظر ، نتایج به همراه تگ های Html در یك كنترل خروجی label نوشته می گردند .در این مثال از سه كنترل سرویس دهنده استفاده شده است :

    • یك كنترل asp:Textbox جهت درج داده توسط كاربر

    • یك كنترل asp:Button جهت فراخوانی روتین مربوطه

    • یك كنترل asp:label جهت تعریف یك ناحیه خروجی به منظور نمایش اطلاعات تولید شده

    پس از كلیك بر روی دكمه مربوطه ، داده ورودی توسط كاربر در عدد هفت ضرب و حاصل با متن ثابت و تگ های Html تركیب و در ناحیه خروجی مشخص شده توسط كنترل label نمایش داده می شود . عملیات فوق توسط روتین MultiPly_Seven انجام می شود . توجه داشته باشید كه در این مثال تمام خروجی توسط اسكریپت تولید شده است .
     

    <SCRIPT Runat="Server">

    Sub Multiply_Seven(Src As Object, Args As EventArgs)

    If number1.Text <> "" Then
    Dim M As Integer
    M = number1.Text * 7
    Show_Number.Text = "Your Number is <b>" & M &
    End If

    End Sub

    </SCRIPT>

    <html>
    <body>
    <form Runat="Server">

    <h3>خروجی تولید شده توسط اسكریپت با استفاده از داده ورودی</h3>

    Enter your age:
    <asp:TextBox id="number1" Size="5" Runat="Server"/>
    <asp:Button Text="Submit" OnClick="Multiply_Seven" Runat="Server"/>
    <asp:Label id="Show_Number" Runat="Server"/>

    </form>
    </body>
    </html>
     

     

    روش چهارم : بازیابی و پردازش داده از طریق منابع داده خارجی
    در اكثر وب سایت ها اطلاعات به صورت مستقیم درون صفحات وب درج نمی گردد و یا ماحصل دریافت و پردازش بر روی داده كاربر نمی باشد . در اینگونه  سایت ها ، از فایل های خارجی و یا بانك های اطلاعاتی به عنوان منبع اولیه تامین داده استفاده می گردد .پس از درخواست یك صفحه وب ، اطلاعات از منابع داده خارجی استخراج و قبل از این كه برای مرورگر ارسال گردند در مكان تعیین شده در صفحات وب قرار می گیرند. اطلاعات نمایش داده شده بر روی صفحات وب همواره بهنگام می باشد چراكه محتویات اینگونه صفحات به صورت پویا و با بهره گیری از منابع اطلاعاتی خارجی ایجاد می گردد .
    مثال : در این مثال از اطلاعات موجود در جدول Products مربوط به بانك اطلاعاتی TestDb.mdb به منظور نمایش اطلاعات بر روی صفحه وب استفاده شده است .
    تمامی پردازش های سمت سرویس دهنده از طریق دو كنترل سرویس دهنده موجود بر روی صفحه انجام می شود :

    • asp:GridView ، یك كنترل نمایش اطلاعات است و به یك منبع داده خارجی مرتبط می گردد . كنترل فوق در نهایت به صورت اتوماتیك اطلاعات بازیابی شده را در قالب یك جدول ( حاوی سطرها و ستون ها) ، نمایش خواهد داد .

    • كنترل asp:AccessDataSource ، اطلاعات را از بانك اطلاعاتی استخراج می نماید . ارتباط كنترل فوق با GridView از طریق خصلت DataSourceID برقرار شده است . اطلاعات بازیابی شده در فرمتی كه توسط GridView مشخص شده است ، نمایش داده خواهند شد . Style خاصی در ارتباط با جدول بكار گرفته نشده است . كنترل GridView دارای مجموعه ای كامل از گزینه های لازم به منظور تعیین لی اوت و یا style جدول نمایش اطلاعات است . كنترل های ورودی داده متفاوتی را می توان به صفحه اضافه نمود تا كاربران قادر به انتخاب اطلاعات مورد نظر خود باشند ( بازیابی و نمایش اطلاعات در كنترل های خروجی بر اساس خواسته كاربر)

    <html>
     <body>
      <form Runat="Server">
        <h3>خروجی تولید شده با استفاده از بانك اطلاعاتی</h3>
        <asp:AccessDataSource id="Products" Runat="Server"
         DataFile="c:\databases\TestDb.mdb"
         SelectCommand="SELECT ItemNumber, ItemName, ItemPrice, ItemQuantity FROM Products"/>
         <asp:GridView id="ProductsGrid" DataSourceID="Products" Runat="Server"/>
      </form>
    </body>
    </html>

    مزایای جداسازی محتویات از صفحه ای كه آنان را نمایش می دهد :

    • اطلاعات همواره به روز و صحیح می باشند .

    • در اكثر سایت های تجاری ، اغلب اطلاعات در یك بانك اطلاعاتی ذخیره می گردد. از بانك اطلاعاتی به عنوان مخزن تامین اطلاعات مورد نیاز برای انجام عملیات و مدیریت فرآیندها استفاده می گردد . در چنین مواردی ، صفحات وب بهنگام و به سرعت آخرین اطلاعات موجود را نمایش خواهند داد ( صفحات وب Live ) . استخراج داده از اینگونه منابع ذخیره سازی ، در زمان صدور درخواست انجام می شود .

    • صفحات وب بندرت نیازمند تغییر بوده و كد صفحات در زمان تغییر محتویات تغییر نخواهد كرد . در این مدل ،  اطلاعات درمنابع ذخیره سازی داده تغییر داده شده و ماحصل آن بر روی صفحات وب منعكس خواهد شد . در چنین مواردی نیازی به كاركنان فنی به منظور نگهداری و بهنگام سازی اطلاعات نخواهد بود . در واقع، افرادی كه از منابع ذخیره سازی داده نگهداری می نمایند ، نگهداری اطلاعات منتشر شده بر روی وب سایت را نیز برعهده خواهند داشت .

    • در صورتی كه محتویات صفحات بندرت تغییر می یابد ، می توان از روش درج مستقیم متن درون صفحات وب به صورت دستی استفاده نمود . ولی در صورتی كه محتویات یك صفحه بطور مرتب و با فركانس بالا تغییر می یابد ، بهتر است كه آنان را در یك فایل و یا منبع داده خارجی ذخیره نمود . در چنین مواردی ، امكان بهنگام سازی محتویات با سهولت بیشتری فراهم می گردد . 


    صرفنظر از اندازه و پیچیدگی یك وب سایت ، یكی از وظایف اولیه پیاده كننده گان برنامه های وب ، مدیریت داده ها با استفاده از كنترل های سرویس دهنده و اسكریپت هائی است كه با تلفیق آنان می توان اطلاعات را به صورت پویا و متاثر از آخرین داده های موجود در بانك اطلاعاتی بر روی صفحات وب نمایش داد .
    در بخش دوم به بررسی امكانات ارائه شده در ASP كلاسیك ، ASP.NET 1.x و ASP.NET 2.0 به منظور دستیابی و نمایش داده خواهیم پرداخت تا مسیر ما برای بررسی كنترل های منبع داده هموار گردد .





  • نوع مطلب :
    برچسب ها :
    لینک های مرتبط :


    دوشنبه 27 شهریور 1396 08:07 ق.ظ
    Hello there! I could have sworn I've been to this blog before but after browsing through some of the post I realized it's new to me.
    Anyways, I'm definitely delighted I found it and I'll be book-marking and checking back frequently!
    شنبه 25 شهریور 1396 06:10 ب.ظ
    Hmm it seems like your site ate my first comment (it was extremely long) so I
    guess I'll just sum it up what I wrote and say, I'm thoroughly enjoying your blog.
    I as well am an aspiring blog writer but I'm still new to the whole thing.
    Do you have any tips for beginner blog writers? I'd
    genuinely appreciate it.
    سه شنبه 14 شهریور 1396 12:51 ب.ظ
    Hi there! I just wanted to ask if you ever have any problems with hackers?
    My last blog (wordpress) was hacked and I ended up losing several weeks of hard work due to no
    back up. Do you have any solutions to protect against hackers?
    دوشنبه 30 مرداد 1396 04:26 ب.ظ
    Hi, this weekend is fastidious for me, since this moment i am reading this fantastic informative paragraph
    here at my house.
     
    لبخندناراحتچشمک
    نیشخندبغلسوال
    قلبخجالتزبان
    ماچتعجبعصبانی
    عینکشیطانگریه
    خندهقهقههخداحافظ
    سبزقهرهورا
    دستگلتفکر


    درباره وبلاگ

    سلام من آرش کاکاوند دانشجوی رشته کامپیوتر هستم و ورود شما رابه دنیای aspخوش امدمیگم.حتما نظر بدین تا من کارم رو بهتر ادامه بدم

    مدیر وبلاگ : ارش کاکاوند
    مطالب اخیر
    نویسندگان
    صفحات جانبی
    نظرسنجی
    شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








    جستجو

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