PDA

View Full Version : سوال: صفحه در صفحه



fozolefozola
سه شنبه 01 دی 1388, 10:02 صبح
سلام
من 4 صفحه رو مي خوام توي يك صفحه قرار بدم
مثل لينك باكسهايي كه توي وبلاگها مي ذارن

من مي خوام صفحه رو به 4 قسمت تقسيم كنم و 4 صفحه aspx توي خودش باز كنه
با نميشه چون Masterpage فقط مي تونه يك صفحه رو توي خودش باز كنه

raziee
سه شنبه 01 دی 1388, 11:46 صبح
چرا شما از WebUserControl.ascx استفاده نمیکنید.
برای چنین کارهایی بهتره

ricky22
سه شنبه 01 دی 1388, 11:56 صبح
چرا شما از WebUserControl.ascx استفاده نمیکنید.
برای چنین کارهایی بهتره
از frame نمی تونه استفاده کنه؟

raziee
پنج شنبه 03 دی 1388, 18:32 عصر
از frame نمی تونه استفاده کنه؟
میتونه اما چرا باید این کار رو انجام بده؟

ricky22
پنج شنبه 03 دی 1388, 18:36 عصر
میتونه اما چرا باید این کار رو انجام بده؟
همینجوری نظرمو گفتم اخه من با کنترلی که شما معرفی کردین اشنا نیستم

raziee
پنج شنبه 03 دی 1388, 18:46 عصر
من با کنترلی که شما معرفی کردین اشنا نیستم
این فایل ها ، کنترل هایی هستند که برنامه نویس ایجاد میکنه و در برنامه استفاده میکنه.
برای جدا سازی قمت هاست.
مثلا شما یه کنترل لاگین در در این فایل ایجاد میکنید . کد های مربوطه رو هم درش مینویسید.
و در پروژه استفاده میکنید حالا اگه درست کار نکرد میرید سراغ همون فایل و به بقیه پروژه کاری ندارین.

A.S.Roma
پنج شنبه 03 دی 1388, 18:50 عصر
همینجوری نظرمو گفتم اخه من با کنترلی که شما معرفی کردین اشنا نیستم
UserControl کنترل خاصی نیست .
کنترلیه که User اونو به دلخواه خودش می سازه .

ضمنا" Frame هم در XHTML1.1 ساپورت نمیشه . ( البته در مدل Transitional اون چرا )

asp2.net
پنج شنبه 03 دی 1388, 19:30 عصر
raziee محترم اگه ميشه در باره WebUserControl.ascx بيشتر توضيح بدهيد اگه ميشه همراه با مثال باشه بهتره.ممنون از شما

raziee
پنج شنبه 03 دی 1388, 20:39 عصر
اگه ميشه در باره WebUserControl.ascx بيشتر توضيح بدهيد اگه ميشه همراه با مثال باشه بهتره.
یه فایل اضافه کنید و اسمش رو بگزارید myAccount.ascx
حالا کد های زیر رو کپی کنید.
<table>
<tr>
<td>Name:</td>
<td><asp:TextBox ID="txtName" runat="server" /></td>
</tr>
<tr>
<td>Family:</td>
<td><asp:TextBox ID="txtFamily" runat="server" /></td>
</tr>
<tr>
<td>Email:</td>
<td><asp:TextBox ID="txtEmail" runat="server" /></td>
</tr>
</table>
کد های مربوطه:
public partial class myAccount : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
txtName.Text = "Hossein";
txtFamily.Text = "Raziee";
txtEmail.Text = "raziee.hossein@gmail.com";
}
}
در صفحه ای که میخواید اون درگ کنید کد زیر در ابتدای کد ها بهد از کد تنظیکات پیج اضافه خواهد شد:
<%@ Register src="myAccount.ascx" tagname="myAccount" tagprefix="uc1" %>
برای اضافه کردن کنترل کد زیر به کار میرود.
<uc1:myAccount ID="myAccount1" runat="server" />

حالا اگه پروژه رو اجرا کنید میبینید که تمامی اطلاعات کنترل شما و رویداد ها اضافه شده است.
سورس برنامه رو ببینید : مشاهده میکنید که کد ها در هم ادغام شده اند.
برای بالا تر رفتن دید کدها و همینطور جلوگیری از تکرار کد ها برای انجام یک کار از این کنترل استفاده میکنند. یکبار کنترلی رو میسازند و بار ها استفاده میکنند.

aminkk
چهارشنبه 09 دی 1388, 15:00 عصر
<%@ Register src="myAccount.ascx" tagname="myAccount" tagprefix="uc1" %>
میشه یکم راجب به این directive صحبت کنید

raziee
چهارشنبه 09 دی 1388, 15:17 عصر
میشه یکم راجب به این directive صحبت کنید
البته انگار از موضوع این تاپیک خارج شدیم. بهتر بود در یه تاپک دیگه مطرح میشد اما:

این خط برای تعریف یک کنترل هست(چه کنترل های نوشته شده توسط کاربر و چه کنترل هایی مثل ایجکس)
src : مسیر دسترسی به کنترل رو نشون میده
tagname : اسم کنترل رو نشون میده
tagprefix : اسمیه که شما بوسیله ی اون میتونید در صفحه به اون کنترل دسترسی داشته باشید. میتونید خودتون این نام رو تغییر بدید.

برای اینکه در هر صفحه یه کنترل رو معرفی نکنیید!! میتونید یکبار در وبکانفیگ اون رو معرفی کنید.