PDA

View Full Version : public control in asp.net 2



PrinceDotNet
جمعه 28 بهمن 1384, 23:22 عصر
سلام

چطور میشه یک شیء رو در asp.net2 که به طور پیش فرض protected هستش رو به public تغییر داد؟

چون من می خوام به یک خصوصیت از یک شیء در یک یوزرکنترل دسترسی داشته باشم که اجازه نمیده.

ممنون.

صابر
شنبه 29 بهمن 1384, 02:00 صبح
سلام،
یک property از نوع friend در یوزر کنترل خودتون ایجاد کنید و از طریق اون دسترسی پیدا کنید.

البته اگه بگین چه خصوصیتی از چه شیئی راحت‌تر می‌شه گفت و بحث انتزاعی نمی‌شه ؛)

PrinceDotNet
شنبه 29 بهمن 1384, 21:19 عصر
ببینید من freetextbox رو تو یک یوزر کنترل گذاشتم . حالا می خوام متن نوشته شده در توشو بدست بیارم.

صابر
یک شنبه 30 بهمن 1384, 00:45 صبح
فرض کنیم که id مربوط به UserControl شما uc1 هست و توی این کنترل یک textbox به نام TextBox1 دارید.
در usercontrol خودتان این کد را اضافه کنید:


Property TextOfTextbox() As String
Get
Return Me.TextBox1.Text
End Get
Set(ByVal value As String)
Me.TextBox1.Text = value
End Set
End Property


حالا می‌توانید در صفحه‌ای که User Control خود را آنجا قرار دادید به محتوای TextBox دسترسی داشته باشید.


Me.uc1.TextOfTextbox = "salam!"
Response.Write(Me.uc1.TextOfTextbox)

PrinceDotNet
یک شنبه 30 بهمن 1384, 15:07 عصر
خوب مسئله همینه.
در دات نت 1 این کار راحته ولی در دات نت 2 باید property رو shared کرد. وقتی هم که این کار رو میکنم میگه باید کنترل شما از نوع public باشه تا به اون بشه دسترسی داشت.
در دات نت 1 کنترلها در code behind تعریف میشد و میشد نوع تعریف اون رو عوض کرد.
اما تو دات نت 2 اینطوری نیست و نمی دونم از کجا باید نوع تعریف اون رو عوض کنم.

صابر
یک شنبه 30 بهمن 1384, 15:20 عصر
من قبل از ارسال این کد، اون رو توی asp.net 2 تست کردم، بدون مشکل اجرا شد..
حالا شما دوباره تست کنید، اگه نشد property رو از نوع friend تعریف کنید.