PDA

View Full Version : سوال: نحوه نمايش خروجي rss



yasaman-gh
یک شنبه 17 شهریور 1387, 01:22 صبح
خروجي Rss يه سايت رو در يكي از صفحات سايتم ايجاد كردم با كليك روي عنوان خبر ها متن اونا در يه صفحه از سايت مرجع نمايش داده ميشود ( خوب تا اين جا همه چيز طبيعي است )
و اما سوال : ايا اين امكان وجود داره كه بتونم متن اون خبرا رو تو يه صفحه از سايت خودم نمايش بدم ؟؟؟

milade
یک شنبه 17 شهریور 1387, 08:05 صبح
اگه فایل rss ی که از اون سایت می گیری متن خبر هم داره اره که فکر کنم قبلا دربارش بحث شده ولی اگه نیافتی بگو
موفق باشی

yasaman-gh
یک شنبه 17 شهریور 1387, 15:59 عصر
اگه فایل rss ی که از اون سایت می گیری متن خبر هم داره اره که فکر کنم قبلا دربارش بحث شده ولی اگه نیافتی بگو
موفق باشی

مرسي
من با اين كد :
<a href=<%#DataBinder.Eval(Container.DataItem,"link" )%> target="_blank">
<%# DataBinder.Eval(Container.DataItem,"title") %>

</a>
تيتر خبرا رو به صورت لينك مي بينم با كليك اونا متنو هم مي بينم اما تو سايتي كه rss رو گرفتم با كد :
<%# DataBinder.Eval(Container.DataItem,"description") %>
هم در ادامه كد قبلي متنا رو تو ادامه لينكا و تو همون صفحه از سايت خودم مي بينم ولي چيزي كه من مي خوام اينه كه به طريقي با كليك روي هر لينك- مثلا با ذخيره يه مقدار تو يه متغيير به ازاي كليك هر لينك- ، بعد از بردن كنترل به يه صفحه جديد از سايتم با توجه به همون مقادير كه با كليك روي لينكا ذخيره كردم فقط متن مربوط به اون لينك كليك شده رو نمايش بدم اما نمي دونم اصلا اين كار عملي هست يا نه ؟؟؟؟؟؟؟؟

yasaman-gh
سه شنبه 19 شهریور 1387, 15:19 عصر
چرا كسي كمكي نمي كنه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟
اقاي راد اسم شما رو پاي خيلي از مقالات rss ديدم اگه وقت داريد لطف كنيد يه راهنمايي بكنيد
خيلي فوريهههههههههههههههههه

Behrouz_Rad
سه شنبه 19 شهریور 1387, 18:43 عصر
راه های زیادی برای کاری که قصد داری انجام بدی وجود داره.
ساده ترین راهش، پاس دادن URL فید به صفحه ی مقصد و بازیابی فیلد description اون هست:


targetPage.aspx?feed=lnk

در صفحه ی مقصد، فایل RSS رو Parse می کنی تا به item ای که مقدار فیلد link اون با lnk برابر هست برسی. در این حالت مقدار description اش رو استخراج می کنی.

در روشی دیگه و به شکلی ساده تر، مقدار فیلد description رو در Session قرار بده و در صفحه ی مقصد اون مقدار رو بخون.

کد نویسی بر عهده ی خودتون.

موفق باشید.

yasaman-gh
چهارشنبه 20 شهریور 1387, 15:26 عصر
واقعا ازتون ممنونم اقاي راد شما ذهنمو وادار به تفكري عميقتر كردين
اما دقيقا كاري رو به عهده ام گذاشتين كه توش مشكل داشتم
چيزي شبيه راه حل دومتون به ذهنم رسيده بود دست وپا شكسته و درحد خودم ازش بالاتر حرف زده بودم
از ديروز خيلي بهش فكر كردم تيتر خبرا رو به جاي نمايش با تگ <a> با تگ <link button > نمايش دادم تا بتونم خاصيت on click داشته باشم براي اين خاصيت يه تابع نوشتم كه مقداريو تو session قرار مي ده وكنترلو به يه صفحه ديگه مي بره (همون چيزي كه دنبالش بودم ) اما به هر صورت كه مي خوام
'<%# DataBinder.Eval(Container.DataItem,"description") %>'
رو تو سشن قرار بدم با error مواجه مي شم error ها هم هر بار متفاوته اما اغلب اينه كه انتساب كاراكتر به رشته اشتباه است !!! () Tostring رو هم بهش اضافه كردم اما باز هيچي...... فكر مي كنم يه سري پارامتر مي خواست ؟؟؟؟!!!!
اگه در اين مورد هم بهم كمك كنيد ممنوم مي شم

Behrouz_Rad
چهارشنبه 20 شهریور 1387, 18:18 عصر
کدتون رو قرار بدید.

yasaman-gh
پنج شنبه 21 شهریور 1387, 16:18 عصر
کدتون رو قرار بدید.

اگه منظورتون از كد ، كد انتساب تو سشن هست كه گفتم هر چي مي نويسم error مي ده

كدم اينه :
Session["mysession"]= '<%# DataBinder.Eval(Container.DataItem,"description")%>' ;
كه ظاهرا مشكلش با تك كوتيشن اطراف طرف راست كده حتي وقتي با ماوس رو كد نگه مي دارم يه تول تيپ با پيام too many characters in character litral رونشون مي ده با اين كه فكر ميكنم برداشتن تك كوت درست نباشه با برداشتنش پيام
Preprocessor directives must appear as the first non-whitespace character on a line
رو مي بينم
واقعا نمي دونم چه كديو بايد استفاده كنم ؟؟؟؟
و يه سوال ديگه كه به ذهنم رسيده و مطمئنا مي تونيد حدس بزنيد دليل خطورش چيه اينه كه ايا سشن ظرفيت خاصي داره يا محدوديتي وجود نداره ؟؟؟؟
ممنون

Behrouz_Rad
پنج شنبه 21 شهریور 1387, 18:24 عصر
مقدار فیلد link رو باید به خاصیت NavigateUrl کنترل Hyperlink نسبت بدی. یک Label مخفی یا مرئی (بسته به طراحی پروژه) هم کنار هر Hyperlink قرار بده و در اون مقدار فیلد description رو ذخیره کن.
یک روال Click برای همه ی کنترل های Hyperlink تعیین می کنی. در این روال، sender رو به Hyperlink تبدیل (Cast) می کنی، به Parent اش (1 یا بیشتر) ارجاع پیدا می کنی تا به Row کنترل Repeater برسی. در این حالت به سادگی به Label موجود در Row با FindControl ارجاع پیدا کن و مقدارش رو به دست بیار و در Session قرار بده.


ايا سشن ظرفيت خاصي داره يا محدوديتي وجود نداره ؟؟

خیر. بیشتر سربار Serialize و Deserialize در این موارد مهم هست. حجم محدودیت نداره. البته محدودیتی که Server تعیین می کنه مهمه. پیش فرض Session حالت In-Proc هست که Session ها رو در Cache ذخیره می کنه.


موفق باشید.

yasaman-gh
جمعه 22 شهریور 1387, 00:58 صبح
ممنون از اين كه راهنماييم مي كنيد 2 خط ونيم اولو متوجه شدم اما 2 خط و نيم بعدو نه يعني اين جوري بگم چيزاي جديدي اند تا حالا ....
نمي شه همون راه حل اولو ادامه بديم يعني نمي شه مستقيا سشنا رو مقدار بديم يا مثلا label كه گفتينو داشته باشيم بعد تو اون تابع كه به ازاي on click مي نويسيم مقدار label ها رو به سشن انتساب بديم ؟؟

Behrouz_Rad
جمعه 22 شهریور 1387, 09:28 صبح
ممنون از اين كه راهنماييم مي كنيد 2 خط ونيم اولو متوجه شدم اما 2 خط و نيم بعدو نه يعني اين جوري بگم چيزاي جديدي اند تا حالا ....
نمي شه همون راه حل اولو ادامه بديم يعني نمي شه مستقيا سشنا رو مقدار بديم يا مثلا label كه گفتينو داشته باشيم بعد تو اون تابع كه به ازاي on click مي نويسيم مقدار label ها رو به سشن انتساب بديم ؟؟

شما صحبت های بنده رو دقیقاً تکرار کردید. بنده هم همین رو عرض کردم. با دقت مطالعه بفرمایید.

موفق باشید.

yasaman-gh
جمعه 22 شهریور 1387, 17:29 عصر
من معذرت مي خوام اخه با خوندن اون مطلب ذهنمو مورد هجوم كلي واژه نا اشنا ديدم
بارها خوندمش تابعي كه نوشته بودمو به اين تغيير دادم :
(protected void button_click(object sender, RepeaterCommandEventArgs e
}

;()HyperLink hypersel = new HyperLink
;[hypersel = (HyperLink)e.Item.Controls[1
;Label1.Text = hypersel.Text
{

تا اين جا من تو يه label عنوان كليك شده رو دارم بازم نميدونم به اوني كه شما گفته بودين نزديك شدم يا باز زدم به بيراهه
اما واقعا نميدونم چه جوري از رو ي اون مقداري كه الان دارم برسم به متن اون ليبلا تا بريزمشون تو سشن findcontrol رو هم ديدم اما نمي دونم پارامتراش چيه و چه جوري استفاده مي شه
اگه حس مي كنيد زيادي دارم بيراه مي رم يه زحمت بكشيد كدو برام بنويسيد چون ديگه داره خسته وكلافم مي كنه
بازم ممنون از اين كه واسه راهنماييم وقت مي ذارين