نمایش نتایج 1 تا 9 از 9

نام تاپیک: تفاوت Render - RenderContents - CreateChildControls چیست؟

  1. #1
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538

    تفاوت Render - RenderContents - CreateChildControls چیست؟

    با سلام به همگی دوستان .
    من در حال ساختن Custom Control هستم . و نه User Control . متدهای Render منو گیج کردند . هرچند که چندین مقاله و فصل مربوط به ساخت کنترلهای سروری رو خوندم .
    چند تا سوال دارم :
    اینکه تفاوت متدهای Render در چیه ؟
    چه موقع از Render و چه موقع از RenderCotents استفاده میکنیم . ؟
    هر کدام از این متدهای Render در کدام دوره از LifeCycle کنترل انجام میشوند ؟
    متدهای Renderی که با هم ترکیبی استفاده میشوند کدامند ؟
    بوسیله کدام متدها هست که میتوان در Design Time هم ظاهر کنترل ها را دید . ؟

    با تشکر .

  2. #2
    از rendercontent زمانی استفاده می شود که می خواهید یک کنترل فرزند رو رندر کنیدمثلا زمانی که با begintag کنترلتون رو شروع کردید می تونید با صدا زدن متد rendercontent از کنترل child اون رو توی کنترل parent رندر کنید
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  3. #3
    با این توضیح به این نتیجه می رسید که هر دو رو در design time میشه دید
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  4. #4
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    جناب titabsoft متوجه منظورتون دقیقا نشدم .

  5. #5
        Protected Overrides Sub Render(ByVal w As System.Web.UI.HtmlTextWriter)

    w.AddAttribute("style", "border:2px solid green;")
    w.RenderBeginTag("DIV")

    w.AddAttribute("style", "background-color:red;")
    Dim b As New Button
    b.Text = "button inside DIV"
    Me.Controls.Add(b)
    MyBase.RenderContents(w)
    ' MyBase.Render(w) '=> see the difference

    w.RenderEndTag()

    End Sub
    آخرین ویرایش به وسیله titbasoft : شنبه 07 بهمن 1385 در 11:40 صبح
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  6. #6
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    جناب titabsoft بسیار ممنونم .
    ابتدا عرض کنم که بوسیله متد RenderControl که هر کنترلی دارد نیز میتوان یک کنترgل را به فرم اضافه کرد . (مثلا Button.RenderControl(Ouput))
    sسوال اصلی من اینه :
    چند تا متد با نام Render شروع می شوند ارتباط این متدها و زمان استفاده از هر کدام منو کاملا گیج کرده است . ؟ (Render - RenderChildren - RenderContents - RenderControl)

    باز هم ممنونم .

  7. #7
    امیدوارم این یکی بیشتر مطلب رو برسونه
    Public Class MyWebControl
    Inherits WebControl


    Public Sub New()
    MyBase.New("DIV")
    End Sub

    Protected Overrides Sub AddAttributesToRender(ByVal w As HtmlTextWriter)
    w.AddStyleAttribute("background-color", "Red")
    MyBase.AddAttributesToRender(w)
    End Sub

    Protected Overrides Sub RenderContents(ByVal w As HtmlTextWriter)
    w.Write("What I want to be inside of my control's tag")
    MyBase.RenderContents(w)
    End Sub


    Protected Overrides Sub RenderChildren(ByVal w As System.Web.UI.HtmlTextWriter)
    Dim b As New Button
    b.Text = "Control in control collection"
    MyBase.Controls.Add(b)
    MyBase.RenderChildren(w)
    End Sub

    Protected Overrides Sub Render(ByVal w As System.Web.UI.HtmlTextWriter)
    w.Write("Render Method")

    'I want to see the HTML output result of another control after it's rendered, on my HtmlTextWriter
    Dim c As New ImageButton
    c.RenderControl(w)

    MyBase.Render(w)
    End Sub
    End Class
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  8. #8
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    جناب titbasoft خیلی ممنون . عالی بود .
    توی این مثال یه چیزی برام جالب بود . وقتی که در حالت Design طول و عرض کنترل و اضافه میکنیم کنترلهایی که در متد RenderChildren اضافه کرده بودیم تکرار میشوند. ولی وقتی برنامه اجرا میشود تنها همان کنترلهای ابتدایی نمایش داده میشوند .
    و یک چیز جالبتر اینکه اگر Style کنترل را در حالت Design تغییر دهیم محوطه ای که مربوط به کنترلهای Content می شود شامل تغییر می شود .

  9. #9
    و یک چیز جالبتر اینکه اگر Style کنترل را در حالت Design تغییر دهیم محوطه ای که مربوط به کنترلهای Content می شود شامل تغییر می شود .
    به همین دلیله که اگر content رو تگ نزده باشید به طور پیش فرض خودش یک Span میزنه.

    فکر کنم اگر این تست رو انجام بدید یه کم تفاوت ها روشن تر بشه، توی Render کنترل بیس رو (MyBase) رندر نکنید. می بینید که هیچکدوم از تغیراتی رو که توی متدهای دیگه روی MyBase دادید دیده نخواهند شد و مستقیم کنترل شما رندر میشه
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

تاپیک های مشابه

  1. render a TRichEdit text onto a canvas را به صورت یک برنامه دلفی در بیاورید
    نوشته شده توسط ali_abbasi22145 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: یک شنبه 13 اردیبهشت 1388, 13:07 عصر
  2. تغییر مکان یک div بعد از render
    نوشته شده توسط rezaei manesh در بخش ASP.NET Web Forms
    پاسخ: 8
    آخرین پست: سه شنبه 18 اردیبهشت 1386, 10:48 صبح
  3. آموزشی: تغییر Render کنترل های دات نت 2005
    نوشته شده توسط HO457 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 30 بهمن 1384, 00:05 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •