PDA

View Full Version : کمک برای ساخت ادامه مطلب ..!



merlin_vista
شنبه 14 مهر 1386, 09:21 صبح
با سلام :
من یک قسمت ساختم که میتونم پست بدم و برای پست ها هم برای کوئری استرینگ یک لینک ثابت ساختم ولی حالا میخواهم برای مطالب خودم ادامه مطلب بنویسم !! در ساخت ادامه مطلب مشکلی ندارم و لی میخواهم اگه در قسمت ادامه مطلب چیزی ننوشتم لینک آن برای آن پست نمایش داده نوشد ولی اگه چیزی نوشتم لینک آن نمایش داده بشود ! :چشمک:
این قسمت را نمیدانم چگونه بنویسم !! از دوستان که قبلاً این کار را کردند خواهش میکنم تجربیات خود را اینجا بنویسند !! :قلب:

Bahram0110
شنبه 14 مهر 1386, 11:11 صبح
شما نمی خواد ادامهء مطلبو بسازی!!!
این کاری که می گم انجام بده :
همهء مطلبو بنویس و توی دیتابیس ذخیره کن . . .
وقتی که می خوای ابتدای مطلبو (متضاد ادامه مطلب!) نشون بدی چند کاراکتر اول(مثلا 200 تا) از کل متن رو می خونی و نشون می دی اگه کل مطلبت بیشتر از 200 کاراکتر باشه لینک ادامه مطلب می ذاری . . .

abadanboy
شنبه 14 مهر 1386, 14:17 عصر
می تونی این کاری که بهرام گفت بکنی
اما چیزی که خودت می خوای با یه شرط حل میشه
کافی بگی اون فیلده خالی بود اون هایپر لینگ که کذاشتی اینویزیبل بشه
اینجوری فرض کن فیلد ادامه مطلب رو ریختم تو یه متغیر رشته ای و نلمش هست str1 و ایدی هایپرلینک هم هست hy1
خوب می شه



string str1=reder.getvalue(3).tostring().trim();
if(str1=="")
{
hy1.visibel=false;
}

merlin_vista
شنبه 14 مهر 1386, 16:34 عصر
چگونه 200 کاراکتر اول را در دیتابیس بخونم !!!
آخه من مطالب را با ادیتور ذخیره میکنم که آن هم کد HTML را ذخیره میکنه !! حالا من چطوری 200 کاراکتر اول را بخونم ، تازه ممکنه عکس هم باشه !!
از Bahram0110 (http://barnamenevis.org/forum/member.php?u=14281) و abadanboy (http://barnamenevis.org/forum/member.php?u=45359) نهایت تشکر را دارم !!!

sama01
شنبه 14 مهر 1386, 17:11 عصر
من فکر می‌کنم روش اصولی تر این باشه که خلاصه مطلب و مطلب کامل، دو فیلد مستقل داشته باشند. خیلی بهتره. این کار هم توسط وبلاگ‌ها انجام می‌شه و هم توسط خبرگزاری‌ها.
فقط کافی بررسی کنید ببینید اگر متن کامل وجود داره، یک لینک به عنوان ادامه‌ی مطلب در انتهای خلاصه، اضافه بشه.

shahab_ksh
شنبه 14 مهر 1386, 18:31 عصر
جدا کردن متن از HTML
http://barnamenevis.org/forum/showthread.php?t=79977

Bahram0110
دوشنبه 16 مهر 1386, 09:07 صبح
چگونه 200 کاراکتر اول را در دیتابیس بخونم !!!
آخه من مطالب را با ادیتور ذخیره میکنم که آن هم کد HTML را ذخیره میکنه !! حالا من چطوری 200 کاراکتر اول را بخونم ، تازه ممکنه عکس هم باشه !!
از Bahram0110 (http://barnamenevis.org/forum/member.php?u=14281) و abadanboy (http://barnamenevis.org/forum/member.php?u=45359) نهایت تشکر را دارم !!!


$str=@substr($str, 0, 200);


در ضمن شما که نمی خواین عکس رو توی دیتا بیس ذخیره کنید!
آدرسشو ذخیره می کنید

Bahram0110
دوشنبه 16 مهر 1386, 09:10 صبح
ببخشید کدی که من گذاشتم برای php بود :لبخند:
برای asp بلد نیستم :ناراحت:

merlin_vista
دوشنبه 16 مهر 1386, 13:21 عصر
آقا خیلی ممنون !! ولی یک سوال برای من پیش آمده من کد مربوط به اینکه اگه مقداری داخل فیلد ادامه مطلب میباشد لینک را نشان بده و اگر مقداری ندارد لینک را نشان نده ، که آقای abadanboy (http://barnamenevis.org/forum/member.php?u=45359) در پس شماره 3 گفتند را در کدام قسمت دیتالیست بنویسم !!!
من از SQL 2000 و VS 2005 و Dtatalist برای نمایش اطلاعا استفاده میکنم که زبانم هم سی شارپ میباشد !!!

abadanboy
دوشنبه 16 مهر 1386, 14:36 عصر
فکر کنم تو رخداد ondatabind دیتالیست باید بنویسی و با findcontorol لینک رو پدا کنی تو یه حلقه foreach و خاموش کنی
اگه وقت کردم واست می نویسمش

merlin_vista
دوشنبه 16 مهر 1386, 17:01 عصر
آقا تو را به خدا بنویس که خیلی لازم دارم !!‌اگه میشه لطف کن و اینجا بگزار !!‌

abadanboy
سه شنبه 17 مهر 1386, 08:37 صبح
خوب ببین اون ادامه مطلبت رو باید تو یه خاصیتی از لینک دیتالیستت ذخیره کنی بعد با اون اعتبار سنجی کنی من راه دیگه ای نتونستم پیدا کنم نمی دونم چرا اینقدر دیتالیست تو این کارها مذخرفه اگه جوری دیگه عمل کنی یا همه لینک ها فعال می سشه یا همه غیر فعال به هر حال این کارتو راه می ندازه من متنی که از فیلد ادامه متن و فایل از تو
دیتابیس میاد رو می ذارم تو css لینکم و بعد اون چک می کنم که مقدار توش هست یا نه اگه بود فعال می شه اگه نه غیر فعال

ASP CODE


<TDalign="center"width="60">
<asp:LinkButtonid=LinkButton13runat="server"Width="83px"ForeColor="Red"CssClass='<%# DataBinder.Eval(Container, "DataItem.UrlLink").ToString().Trim() %>'CommandName="cmdlink"CommandArgument='<%# DataBinder.Eval(Container, "DataItem.newsid") %>'>لینک مربوطه</asp:LinkButton></TD>
<TDalign="center"width="60">
<asp:LinkButtonid=LinkButton12runat="server"CssClass='<%# DataBinder.Eval(Container, "DataItem.npdf").ToString().Trim() %>'CommandName="cmdpdf"CommandArgument='<%# DataBinder.Eval(Container, "DataItem.newsid") %>'>فایل pdf</asp:LinkButton></TD>
<TDstyle="WIDTH: 49px"align="center">
<asp:LinkButtonid=LinkButton11runat="server"Width="60px"ForeColor="Green"CssClass='<%# DataBinder.Eval(Container, "DataItem.FileName").ToString().Trim() %>'Font-Bold="True"CommandName="cmd"CommandArgument='<%# DataBinder.Eval(Container, "DataItem.newsid") %>'>متن کامل</asp:LinkButton></TD>
<TDvAlign="middle"align="center"></TD>



C# CODE


foreach(DataListItem dl in DataList1.Items)
{

LinkButton li=(LinkButton)dl.FindControl("LinkButton13");
LinkButton pdf=(LinkButton)dl.FindControl("LinkButton12");
LinkButton matn=(LinkButton)dl.FindControl("LinkButton11");


if(pdf.CssClass=="")
{
pdf.Visible=false;
}
if(li.CssClass=="")
{
li.Visible=false;
}
if(matn.CssClass=="")
{
matn.Visible=false;
}
}
}


البته اون foreach(datarow رو بیخیال شو من اونو واسه چیزه دیگه استفاده می کنم فقط foreach دومی مهمه
اینو بزار تو یه روال مثل{ }() public void dataL بعد اینو تو Page_Load فراخونی کن

merlin_vista
سه شنبه 17 مهر 1386, 11:47 صبح
ممنون آقای abadanboy (http://barnamenevis.org/forum/member.php?u=45359) از اینکه وقت گزاشتی و این کد را برای من نوشتی
ولی چند تا مشکل هست !!
1 - من میخواهم از تگ <a> برای لینک ، ادامه مطلب استفاده کنم !
2 - کد شما کار نداد (در ضمن من در روال ننوشتم و همین جور کد را در Page _ Load نوشتم)؟

abadanboy
سه شنبه 17 مهر 1386, 12:00 عصر
1 - من میخواهم از تگ <a> برای لینک ، ادامه مطلب استفاده کنم !


از hyperlink استفاده کنی بهتره چون روش کنترل داری و مثل همین link button ها هست

2-

2 - کد شما کار نداد (در ضمن من در روال ننوشتم و همین جور کد را در Page _ Load نوشتم)؟

فرق نداره تو روال بنویسی یا نه.
کد کار میکنه .
میتونی تو سایت آموزش پرورش ناحیه 4 اصفهان که کار خودمه ببینی که کد کار می ده تو صفحه اول اگه به تابلوی اعلانات نگاه کنی میبینی که بعضی از پست ها
متن کامل فعاله بعضی لینک pdf و بعضی هردو
http://1704.isfedu.com

merlin_vista
سه شنبه 17 مهر 1386, 12:15 عصر
آخه من میخواهم به یک صفحه با Querystring آی دی سطر را بفرستم که با hyperlink نتونستم !!
بعد میشه راجب کدتان یکم بیشتر توضیح بدین !!

merlin_vista
سه شنبه 17 مهر 1386, 12:38 عصر
من یه چیزی شبیه این میخواهم http://1704.isfedu.com (http://1704.isfedu.com/) درست مثل این سایت !!‌

merlin_vista
سه شنبه 17 مهر 1386, 15:03 عصر
آقا من کدها را اینجوری نوشتم کار نداد !! هم لینک را برای آنهایی که ادامه مطلب داشتن نشان داد و هم برای آنها که نداشتند ! ! ! !:متعجب::لبخندساده:
قسمت ASP :

<asp:HyperLink ID="HyperLink3" runat="server" Font-Bold="False" Font-Names="Tahoma"
Font-Size="8pt" ForeColor="#804000" CssClass='<%# DataBinder.Eval(Container.DataItem, "exbody") %>' NavigateUrl=<%#"PrimeryLink.aspx?id=" + Eval("id").ToString() %>>ادامه مطلب</asp:HyperLink>

و در قسمت کد CS :

//Entry
this.sqlDaViewEntry.Fill(this.dsViewEntry1.entry);
this.DataList2.DataSource = this.dsViewEntry1.entry;
this.DataList2.DataBind();
foreach (DataListItem dl in DataList2.Items)
{
HyperLink matn = (HyperLink)dl.FindControl("HyperLink3");
if (matn.CssClass == "")
{
matn.Visible = false;
}
}

ولی کار نداد میشه بگید اشکال از کجاست !! و واسه من اصلاح کنید کد را ! :افسرده:

merlin_vista
چهارشنبه 18 مهر 1386, 10:56 صبح
لطفاً کمک کنید !!
در ضمن من لینک ثابت را همان موقع میسازم و در دیتابیس ذخیره نمیکنم !!

abadanboy
چهارشنبه 18 مهر 1386, 11:36 صبح
عزیزم مهرداد جان
تو CSS هایپر لینکت در انتها بده

.ToString().Trim()


<%# DataBinder.Eval(Container.DataItem, "exbody").ToString().Trim() %>

merlin_vista
چهارشنبه 18 مهر 1386, 13:59 عصر
با تشک از دوست عزیزم abadanboy (http://barnamenevis.org/forum/member.php?u=45359) !! مشکل حل شد و ادامه مطلب درست شد !!
نهایت تشکر را از شما دوست عزیز دارم !