PDA

View Full Version : سوال: برقراری ارتباط بین فلش و asp.net



amir_paia
چهارشنبه 15 خرداد 1387, 00:19 صبح
سلام می خواستم بپرسم چطوری میشه در asp.net با فلش ارتباط برقرار کرد.
یعنی مثلا ما یک textbox در فایل فلش داریم و می خواهیم از مقدار اون در asp.net استفاده کنیم.
اگه نام دستورات و پارامتر هاش رو لطف بفرمایید ممنون میشم


در مورد جستجو در سایت هم باید بگم که من جستجو کردم و یک تاپیک دقیقا مرتبط با موضوعی که می خواستم پیدا کردم اما توی اون تاپیک چند تا لینک و چند تا مثال بود که یکی دو تاش از php بود و اکثر لینک ها هم انگلیسی بود با این حال من لینک ها رو خوندم اما به جواب نرسیدم
ممنون میشم اگه کمکم کنید

Chabok
چهارشنبه 15 خرداد 1387, 00:35 صبح
با سلام
ASP.net یک تکنولوژی سمت سرور است . و فلش سمت کلاینت
شاید برای برقراری ارتباط باید شبیه کاری که با Ajax می کنید انجام دهید .

یعنی در فلش با ارسال پارامترها به سرور ، اطلاعات رد و بدل کنید .

موفق باشید . خدانگهدار

shahab_ksh
چهارشنبه 15 خرداد 1387, 00:36 صبح
این کتاب رو مطالعه بفرمایید از سیر تا پیاز توضیح داده
http://www.friendsofed.com/img/cover/1590595173.jpg

ISBN-10: 1-59059-517-3
ISBN-13: 978-1-59059-517-6

amir_paia
چهارشنبه 15 خرداد 1387, 08:21 صبح
ممنون ار پاسخ ها اما اگه بتونید اسم دستورات رو در فلش و asp همراه با پارامترهای اون بنویسید من راحت تر می تونم به نتیجه برسم
توی تاپیک های قبلی در فلش از دستور loadVariable استفاده کرده بودند اما مشخص نشده بود که به درستی چطور باید استفاده بشه. یعنی اگه این دستور رو توی فلش بنویسیم توی Asp.net باید چه دستوری برای دریافت اطلاعات بنویسیم

محمدامین شریفی
چهارشنبه 15 خرداد 1387, 09:23 صبح
با سلام
ASP.net یک تکنولوژی سمت سرور است . و فلش سمت کلاینت
شاید برای برقراری ارتباط باید شبیه کاری که با Ajax می کنید انجام دهید .

یعنی در فلش با ارسال پارامترها به سرور ، اطلاعات رد و بدل کنید .

موفق باشید . خدانگهدار
منظر همون وب سرویس است این بخونhttp://www.flashmagazine.com/reviews/detail/web_services_and_flash

amir_paia
چهارشنبه 15 خرداد 1387, 09:37 صبح
کسی نیست که خودش کار کرده باشه و بتونه این چند تا دستور توی فلش و ASP رو به من بگه
این لینک ها که دموستان می دن خوبه اما من فقط می خوام یه فیلد اطلاعات رو به ASP بفرستم اما این لینک ها خیلی گسترده تر هست و من رو به جواب نمی رسونه
ضمن تشکر از shahab_ksh باید بگم کتابی که شما معرفی کردین فرستادن اطلاعات از asp.net به فلش رو داره با این عنوان passing data from asp.net to flash using flashVar اما من فرستادن اطلاعات از فلش به ASP.net رو نیاز دارم
با تشکر

twelve
چهارشنبه 15 خرداد 1387, 11:06 صبح
البته اگر به سیلورلایت روی بیارید خیلی بهتره ، در این تکنولوژی نیاز های فلشی در سمت سرور به خوبی مرتفع شده ، و در آینده ای بسیار نزدیک به طور کامل جانشین فلش خواهد شد.

Chabok
چهارشنبه 15 خرداد 1387, 11:28 صبح
با سلام
خسته نباشید . امیدوارم این روشی که میخواهم توضیح بدهم به کار شما بیاید .

همون طوری که خودتون فرمودین باید از loadVariable استفاده کنیم تا داده های خودمون رو به سمت سرور ارسال کنیم .

من یک مثال میزنم . شما دیگه با توجه به شرایط مسئله خودتون اون را گسترش بدین .
فرض میکنیم یک دیتابیس داریم که اطلاعات اشخاص در اون ذخیره میشه .
و این اطلاعات سه فیلد : کد ، نام و شماره هستند .

ما میخواهیم سمت فلش فیلد کد را به سرور پاس بدهیم و کل رکورد را بدست بیاوریم .
اگر فرض کنیم آدرس صفحه سمت سرور ما بدین صورت باشد :
www.mysite.com/MyPage.Aspx (http://www.mysite.com/MyPage.Aspx)

بنابراین برای بدست آوردن اطلاعات رکورد در خواستی چنین کوئری خواهیم داشت :
www.mysite.com/MyPage.Aspx?ID=5 (http://www.mysite.com/MyPage.Aspx?ID=5)

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

به همین منظور از یک شی MovieClip استفاده میکنیم تا بتوانیم رد و بدل اطلاعات را کنترل نماییم .

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

برای این کار کدی به صورت زیر خواهیم داشت :


onClipEvent(load)
{
loadVariables ("MyPage.Aspx?ID=5", this);
}
با این کار در خواست ما به سرور ارسال می شود .
حال در سمت سرور ما باید به این درخواست رسیدگی کنیم و اطلاعات رکورد را برگشت دهیم .

من از نوشتن کدهای ارتباط با بانک صرفنظر میکنم . چون این مثال به صورت کلی است و با هر زبان سمت سرور میشه پیادش کرد .

اگر رکورد شماره 5 ما که به سرور ارسال کردیم دارای اطلاعات زیر باشد .
کد : 5
نام : Hamid
شماره : 44

ما باید سمت سرور با درخواست و یا Request کد شماره 5 ، اطلاعات این رکورد را برگشت دهیم .

برای این کار باید کوئری شبیه زیر را به سمت کلاینت ارسال کنیم .
ID=5&Name=Hamid&Num=44

لازم به ذکر است تنها فقط همین مقدار باید برگشت داده شود . بنابراین صفحه ما نباید دارای تگ های HTML باشد . یعنی صفحه ما فقط باید داخلش کدهای سمت سرور باشد .

یعنی چیزی شبیه این :

MyPage.aspx


<%
Response.Write("ID=5&Name=Hamid&Num=44");
%>


پس تکرار میکنم هیچ گونه تگ و یا متن اضافی نباید در خروجی باشد .

حالا باز میریم سمت فلش :
ما درخواست خود را با استفاده از LoadVariables به سرور ارسال کردیم .
حال باید هنگامی که نتایج برگشت داده می شوند آن ها را بگیریم .

برای این کار از رویداد (onClipEvent(data همان MovieClip استفاده میکنیم .

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

در این رویداد مقدار متغیرهای ارسالی در کوئری استرینگی که از سمت سرور ارسال شد توسط نام آن ها با سادگی در دسترس است :

یعنی توسط ID مقدار 5 ، توسط Name مقدار Hamid و توسط Num مقدار 44 برای ما بدست خواهند آمد .

بدین صورت :


onClipEvent(data)
{
strID = ID;
strName = Name;
strNum = Num;
}
این Str ها فرض میکنیم textbox هایی برای نمایش مقادیر ما باشند .

در این صورت ما توانسته ایم با پاس دادن شماره رکورد به سرور کل اطلاعات رکورد را بدست بیاوریم .

این فقط یک مثال جزیی از نحوه عملکرد برای انجام ارتباط با سرور توسط فلش بود .

موفق و پیروز باشید . خدانگهدار

amirepsilon
چهارشنبه 15 خرداد 1387, 11:58 صبح
سلام محسن جان
لطف میکنی یه توضیحی هم در مورد php بدی !
آخه من php کارم
یا علی

Chabok
چهارشنبه 15 خرداد 1387, 12:18 عصر
در Php هم هیچ فرقی نداره .
شما باید اطلاعات بازگشتی خودتون رو به صورت
ID=5&Name=Hamid&Num=44
بفرستید

توی php هم که با echo و print اطلاعات رو می نویسید .
مثلا:


echo "ID=5&Name=Hamid&Num=44" ;

Chabok
پنج شنبه 16 خرداد 1387, 13:15 عصر
با سلام مجدد

یک کار جالب دیگه که میتونید انجام بدین اینه که هنگام ارسال اطلاعات یک بلوک "لطفا صبر کنید ...." را به کاربر نمایش دهید و هنگام رسیدن اطلاعات از سمت سرور (رویداد Data) آن را مخفی کنید .

کاری که هنگام استفاده از AJAX اصولا انجام می دهید .
موفق و پیروز باشید .

amir_paia
پنج شنبه 16 خرداد 1387, 19:56 عصر
آقا محسن خيلي ممنون از راهنمايي هاتون