PDA

View Full Version : سوال: ajax و مدیریت صفحات



barbodsoft.com
چهارشنبه 18 فروردین 1389, 14:47 عصر
سلام دوستان
آیا می شه صفحه ای رو طراحی کرد و اون صفحه رو درون کنترل
UpdatePanel صفحه دیگری لود کرد. اگه می شه بفرمایید چطور؟

-----------------------------------------------------------------------------------------------------------------------------


سلام
این توضیح رو قرار می دم تا دوستانی که مشکل مشابه دارن خیلی تو پستها نگردن.

توضیح در پست 17

mehdi.mousavi
چهارشنبه 18 فروردین 1389, 14:55 عصر
سلام دوستان آیا می شه صفحه ای رو طراحی کرد و اون صفحه رو درون کنترل UpdatePanel صفحه دیگری لود کرد. اگه می شه بفرمایید چطور؟

سلام.
شما می تونید یه UserControl بسازید و اونو داخل UpdatePanel خودتون Load کنید. متوجه منظورتون از "صفحه دیگر" نمیشم! ارتباط صفحه فعلی، با "صفحه دیگر" چیه؟ میشه بیشتر توضیح بدید هدفتون چیه؟

موفق باشید.

barbodsoft.com
چهارشنبه 18 فروردین 1389, 15:34 عصر
سلام.
شما می تونید یه UserControl بسازید و اونو داخل UpdatePanel خودتون Load کنید. متوجه منظورتون از "صفحه دیگر" نمیشم! ارتباط صفحه فعلی، با "صفحه دیگر" چیه؟ میشه بیشتر توضیح بدید هدفتون چیه؟

موفق باشید.

سلام از usercontrol نمی خوام استفاده کنم. ببینید من دو تا صفحه یا page طراحی کردم. می خوام صفحه 2 رو تو صفحه 1 لود کنم، همین.

mehdi.mousavi
چهارشنبه 18 فروردین 1389, 15:41 عصر
سلام از usercontrol نمی خوام استفاده کنم. ببینید من دو تا صفحه یا page طراحی کردم. می خوام صفحه 2 رو تو صفحه 1 لود کنم، همین.

سلام.
شما می تونید تو صفحه 1، یک IFRAME قرار بدید و آدرس به صفحه 2 رو بعنوان Source اون IFRAME تعیین کنید. همین!

پاورقی: هدف از اینکار چیه؟ و چرا نمی خواهید از User Control استفاده کنید؟

barbodsoft.com
چهارشنبه 18 فروردین 1389, 16:07 عصر
سلام.
پاورقی: هدف از اینکار چیه؟ و چرا نمی خواهید از User Control استفاده کنید؟

نمی دونم. من بیشتر vb.net کار کردم. می دونم برای دسترسی به هر یک از کنترل های داخل usercontrl و مقادیر آنها باید کد زیادی نوشت و هر گونه تغییر در usercontrl ... .

نمی دونم متوجه شدید که واقعا من می خوام چیکار کنم. می خوام بجای اینکه همه صفحه رو هر بار لود کنم. کنترل ها و مقادیر داخل User Control رو با استفاده از ajax عوض کنم. بهترین روش برای این کار چیست؟



شما می تونید تو صفحه 1، یک IFRAME قرار بدید و آدرس به صفحه 2 رو بعنوان Source اون IFRAME تعیین کنید. همین!


گفتم که من تازه کار هستم. اگه می شه یک مثال برای من بزارید.

ممنون که وقت می زارید.

Vahid_moghaddam
چهارشنبه 18 فروردین 1389, 16:54 عصر
http://www.htmlcodetutorial.com/frames/_IFRAME.html

barbodsoft.com
چهارشنبه 18 فروردین 1389, 17:37 عصر
http://www.htmlcodetutorial.com/frames/_IFRAME.html

سلام
فکر می کنم دقیقا همون چیزی باشه که مشکل منو حل می کنه. خوب حالا اگه بخوام مقدار خاصیت src رو با کلیک برروی هر یک از منوها تغییر بدم باید چیکار کرد؟

از این کد ها استفاده کردم ولی نشد.


<iframe id="showpage" runat ="server" src=""></iframe>




Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
showpage.Attributes("sec") = "hello.aspx"
End Sub

Vahid_moghaddam
چهارشنبه 18 فروردین 1389, 18:18 عصر
name رو برای iframe مشخص کنید. اگر منوهای شما لینک هستند target اونها رو برابر name قرار بدید



<a href="http://barnamenevis.org" target="f1">Barnamenevis</a>
<iframe id="f1" name="f1" src=""></iframe>


runat=server رو اگر واقعا نیاز دارید، استفاده کنید

mehdi.mousavi
چهارشنبه 18 فروردین 1389, 18:41 عصر
سلام
فکر می کنم دقیقا همون چیزی باشه که مشکل منو حل می کنه. خوب حالا اگه بخوام مقدار خاصیت src رو با کلیک برروی هر یک از منوها تغییر بدم باید چیکار کرد؟

از این کد ها استفاده کردم ولی نشد.


<iframeid="showpage"runat="server"src=""></iframe>


ProtectedSub LinkButton1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles LinkButton1.Click
showpage.Attributes("sec") = "hello.aspx"
EndSub


سلام.
جای src نوشته اید sec. اونو درست کنید باید قاعدتا مشکل رفع بشه.

موفق باشید.

barbodsoft.com
چهارشنبه 18 فروردین 1389, 19:18 عصر
درست شد. هم تو کد های vb و هم روشی که Vahid_moghaddam (http://barnamenevis.org/forum/member.php?u=29992) توضیح دادن.

یک سوال دیگه. با توجه به هدفی که مد نظر من هست و در بالا توضیح دادم. این روش بهترین روش هست یا روش مناسب تری وجود دارد؟

mehdi.mousavi
چهارشنبه 18 فروردین 1389, 19:26 عصر
درست شد. یک سوال دیگه. با توجه به هدفی که مد نظر من هست و در بالا توضیح دادم. این روش بهترین روش هست یا روش مناسب تری وجود دارد؟

خوبه که درست شد. :) اینم یک روش هستش، بهتر یا بدتر نداره. کاملا بستگی به کاری داره که میخواهید انجام بدید. بعضی جاها، ممکنه استفاده از یک MultiView و تعریف چند View متفاوت در یک Page مناسب بنظر برسه. برخی اوقات تغییر View ها، با استفاده از jQuery یا UpdatePanel و User Control ها ممکنه مناسب باشه. برخی مواقع نیز استفاده از IFRAME مطلوبه. این چیزی نیستش که بخواهیم بدون داشتن اطلاعات کامل در مورد سناریوی در دست، در موردش نظر بدیم.

موفق باشید.

barbodsoft.com
چهارشنبه 18 فروردین 1389, 19:31 عصر
برخی اوقات تغییر View ها، با استفاده از jQuery یا UpdatePanel و User Control ها ممکنه مناسب باشه.

اگه می شه از این روش هم یک توضیح بفرمایید. ممنون

Vahid_moghaddam
چهارشنبه 18 فروردین 1389, 19:52 عصر
در msdn دنبال multiview بگردید. یکی از کنترل های دات نت هست. مثال پیدا خواهید کرد.

mohsen_zelzela00
پنج شنبه 19 فروردین 1389, 00:42 صبح
خوبه که درست شد. :) اینم یک روش هستش، بهتر یا بدتر نداره. کاملا بستگی به کاری داره که میخواهید انجام بدید. بعضی جاها، ممکنه استفاده از یک MultiView و تعریف چند View متفاوت در یک Page مناسب بنظر برسه. برخی اوقات تغییر View ها، با استفاده از jQuery یا UpdatePanel و User Control ها ممکنه مناسب باشه. برخی مواقع نیز استفاده از IFRAME مطلوبه. این چیزی نیستش که بخواهیم بدون داشتن اطلاعات کامل در مورد سناریوی در دست، در موردش نظر بدیم.

موفق باشید.

با سلام من میخواستم یه تاپیک جدید ایجاد کنم ولی وقتی این تاپیک رو دیدم گفتم که سوالم رو اینجا بپرسم دوستان به نظر شما سایت ایران هاست از چه چیزی ایتفاده کرده است از usercontrol و UpdatePanel استفاده کرده یا نه ؟؟؟؟(موقعه ثبت نام هنگام تفییر صفحات) ممنون میشم استاد اگه راهنمایی کنید

mohsen_zelzela00
پنج شنبه 19 فروردین 1389, 16:06 عصر
کاری که من می خوام انجام بدم اینه که مثلاً من سه نوع حمل دارم 1-هوایی 2-زمینی 3-دریایی

من در بالای صفحه 3تا RadioButton گداشتم به عناوین هوایی زمینی دریایی.

حالا هر کدام از این گزینه ها رو که کاربر انتخاب می کنه باید یه سری فیلد مخصوص به اون نوع حمل رو پر کنه من برای اینکه مثلاً وقتی که کاربر هوایی رو انتخاب کرد چگونه فقط باید لیست فیلدهای هوایی رو به کاربر نشون بدم که اونها رو پر کنه؟؟؟؟؟؟؟


ممنون

mehdi.mousavi
جمعه 20 فروردین 1389, 21:15 عصر
کاری که من می خوام انجام بدم اینه که مثلاً من سه نوع حمل دارم 1-هوایی 2-زمینی 3-دریایی

من در بالای صفحه 3تا RadioButton گداشتم به عناوین هوایی زمینی دریایی.

حالا هر کدام از این گزینه ها رو که کاربر انتخاب می کنه باید یه سری فیلد مخصوص به اون نوع حمل رو پر کنه من برای اینکه مثلاً وقتی که کاربر هوایی رو انتخاب کرد چگونه فقط باید لیست فیلدهای هوایی رو به کاربر نشون بدم که اونها رو پر کنه؟؟؟؟؟؟؟
ممنون

سلام.
یک MultiView تعریف کنید (سمت سرور)، و توی View ی اول، فیلدهای هوایی، توی View ی دوم فیلدهای زمینی و در View ی سوم فیلدهای دریایی رو تعریف کنید. MultiView رو درون یه UpdatePanel بذارید و AutoPostback اون Radio Button ها رو true بذارید تا با انتخاب هر یک، یه Postback به سرور داشته باشیم. سمت سرور، بر اساس اینکه روی کدوم Radio Button انتخاب شده، View یک، دو یا سه رو Activate می کنید...

موفق باشید.

barbodsoft.com
پنج شنبه 16 اردیبهشت 1389, 17:55 عصر
سلام مجدد
این توضیح رو قرار می دم تا دوستانی که مشکل مشابه دارن خیلی تو پستها نگردن.

ابتدا باید یک iframe به این شکل در موقعیت مناسب و مورد نظر تون ایجاد کنید.


<iframeID="showpage"runat="server"align="top"name="showpage"
src="Main.aspx"></iframe>
>

حتمی باید براش id و نام تعریف کنید. src صفحه پیش فرض می باشد. می تونید اونو حذف کنید.

حالا دو روش برای فراخوانی صفحه مورد نظر وجود دارد.
روش اول از لینک html استفاده می شه.


<ahref="About.aspx"target="showpage"runat="server"></a>


که target لینک رو باید برابر با نام iframe قرار بدید.

روش دوم با کنترل asp
یک لینک باتن رو صفحه قرار بدید و تو رویداد کلیک اش کد زیر رو قرار بدید.


showpage.Attributes("src") = "hello.aspx"


از روش MultiView هم می تونید استفاده کنید که جناب موسوی در پست 16 توضیح دادن.
این خلاصه راهنمایی دوستان بود.