View Full Version : استفاده از rss و چند سوال
aminkk
پنج شنبه 31 اردیبهشت 1388, 23:45 عصر
سلام
بچه ها من می خوام rss رو تو سایتم پیاده سازی کنم.
مقاله آقای بهروز راد رو خوندم + چند تا مقاله دیگه تو اینترنت و یک شمای کلی از rss رو گرفتم.تقریباً کامل فهمیدم کاربردش چیه و کجا استفاده می شه.
اما یه نکته برام مبهم هست و ان هم این است که در مقاله اقای بهروز راد راجب کنترلی با نام repeaer صحبت شده بود.این کنترل چیست؟کجا وجود داره و چی جوری میشه ازش استفاده کرد.
در اصل کاری که من می خوام انجام بدم این هست که بر اساس همین مقاله جلو برم اما می خوام یه سری کار ها رو اضافه کنم.
می خوام url مربوط به صفحه رو از یک بانک (xml یا sql server یا ... فرقی نمی کن)بگیرم و در اونمتدی که ایشون نوشتن به عنوان ورودی بدهم.چی کار باید انجام بدم؟این repeater کجا هست تا بتونم ازش استفاده کنم؟
بازهم سوالی بود از شما عزیزان می پرسم.:لبخندساده:
daffy_duck376
جمعه 01 خرداد 1388, 08:42 صبح
اون کنترل تو قسمت data هست ولی مثل کنترل های دیگه حاضر و اماده نیست خودت باید طراحی کنی. یه دونه روی فرمت بگذار. به قسمت source برو . تگ اونو پیدا کن . بعدش خودت میفهمی. یه نمونه کد واست میگذارم
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table style="width: 807px;border:0;background-image: url(IMAGE/page_background.gif);">
<tr>
<td colspan="6" style="height: 21px">
<asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Size="14pt" Font-Underline="True" ForeColor="#FF0033" Text="Financial News "></asp:Label>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<TR><TD style="HEIGHT: 21px; TEXT-ALIGN: left" colSpan=6><SPAN style="FONT-SIZE: 12pt"><EM><A href= <%#DataBinder.Eval(Container.DataItem,"Link") %> > <%#DataBinder.Eval(Container.DataItem,"Title") %> </A></EM></SPAN></TD></TR><TR><TD style="VERTICAL-ALIGN: top" color="black"; colSpan=6><asp:Label ID="Label1" Font-Size="12" runat="server" ForeColor="black" Text=<%#DataBinder.Eval(Container.DataItem,"pubDate") %>></asp:Label> </TD></TR><TR><TD style="VERTICAL-ALIGN: top" color="black"; colSpan=6><asp:Label ID="Label2" runat="server" ForeColor="black" Font-Size="12" Text=<%#DataBinder.Eval(Container.DataItem,"Description") %>></asp:Label> </TD></TR><TR><TD style="VERTICAL-ALIGN: top" colSpan=6>
<HR /></TD></TR>
</ItemTemplate>
<AlternatingItemTemplate>
<TR><TD style="HEIGHT: 21px; TEXT-ALIGN: left" colSpan=6><SPAN style="FONT-SIZE: 12pt"><EM><A href= <%#DataBinder.Eval(Container.DataItem,"Link") %> > <%#DataBinder.Eval(Container.DataItem,"Title") %> </A></EM></SPAN></TD></TR><TR><TD style="VERTICAL-ALIGN: top" color="black"; colSpan=6><asp:Label ID="Label1" Font-Size="12" runat="server" ForeColor="black" Text=<%#DataBinder.Eval(Container.DataItem,"pubDate") %>></asp:Label> </TD></TR><TR><TD style="VERTICAL-ALIGN: top" color="black"; colSpan=6><asp:Label ID="Label2" runat="server" ForeColor="black" Font-Size="12" Text=<%#DataBinder.Eval(Container.DataItem,"Description") %>></asp:Label> </TD></TR><TR><TD style="VERTICAL-ALIGN: top" colSpan=6>
<HR /></TD></TR>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
این هم عکسش
http://i42.tinypic.com/2rfx4rm.gif
aminkk
جمعه 01 خرداد 1388, 09:01 صبح
بسیار عالی بود.پس repeater این بود.ممنونم دوست عزیز
اما یه سوال دیگه من می خوام یه همچین کاری بکنم:
یه جدول ساده داشته باشم که از فیلدهای نام سایت،لینک و جزییات تشکیل شده.
حالا می خوام این سایت ها با لینک هاشون در پاییین نمایش داده بشن و کاربر وقتی روش کلیک کرد در قسمت بالا به نمایش در بیاد.فکر می کنم باید این کار رو انجام بدم:
یه select بگیرم که مثلاً 10 رکورد آخر رو نشون بده و در اون قسمت لیست کنه و وقتی روی لینک کلیک کرد جزییات نمایش داده بشن.
چون اولین بارم هست نمی دونم چی کار باید بکنم کلی گیج شدم.
persianboy62
جمعه 01 خرداد 1388, 12:42 عصر
مقاله آقای بهروز راد رو خوندم
میشه لطفا آدرس این مقاله رو بدید تا ما هم بخونیم؟
aminkk
جمعه 01 خرداد 1388, 13:05 عصر
http://barnamenevis.org/forum/showthread.php?t=35927
اینم لینک مقاله
aminkk
شنبه 02 خرداد 1388, 23:08 عصر
جناب daffy_duck376 (http://barnamenevis.org/forum/member.php?u=28691) میشه سورس بذارین.مال همینی که نوشتین
daffy_duck376
دوشنبه 04 خرداد 1388, 10:43 صبح
ببین دوست عزیز این repeater که من گذاشتم اطلاعاتشو از بانک نمی خونه و از یه فایل xml میخونه ولی باز هم فرقی نمی کنه . شما مقدادر DATA SOURCE اونو به جدول خودت نسبت بده سپس به اون کد هایی رو که تو تاپیگ گذاشتم نگاه کن . قسمت لینک یه فیلد هست که از هرجایی میتونه خونده بشه و اینوطری به repeater نسبتش بده
<A href= <%#DataBinder.Eval(Container.DataItem,"Link") %> >
من اون صفحه رو کلا واست میگذارم فقط فرقش اینه که من اطلاعات رو از XML خوندم و شما باید از بانک بخونی همین
aminkk
دوشنبه 04 خرداد 1388, 22:22 عصر
بسیار ممنونم دوست عزیز
اما حالا یک جدید تولید شد.خواهش می کنم برنامه رو دانلود کنید.
aminkk
سه شنبه 05 خرداد 1388, 16:46 عصر
سلام
من می خوام از بانک sql server اطلاعات رو در repeater نشون بدم :
SqlCommand Cmd = new SqlCommand();
SqlConnection Conn = new SqlConnection();
protected void BBC_NEWS_Activate(object sender, EventArgs e)
{
Conn.ConnectionString = @"Data Source=USER-PC\SQLEXPRESS; initial catalog=News; integrated security=true";
Cmd.CommandType = CommandType.Text;
Cmd.Connection = Conn;
Cmd.CommandText = "Select Top 10 newsID, Title, Description, DatePublished, Link";
Conn.Open();
if (!Page.IsPostBack)
{
Repeater1.DataSource = Cmd.ExecuteReader();
Repeater1.DataBind();
}
}
protected void Button1_Click1(object sender, EventArgs e)
{
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
}
و همچنین:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<br />
<div style="text-align: center">
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
<asp:View ID="BBC_NEWS" runat="server" OnActivate="BBC_NEWS_Activate">
<table style="background-image: url(IMAGE/background.gif); width: 940px">
<tr>
<td style="width: 100px; text-align: left">
<asp:Image ID="Image1" runat="server" Height="36px" ImageUrl="~/IMAGE/powered-by.gif"
Width="172px" /></td>
</tr>
<tr>
<td style="width: 100px">
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<HeaderTemplate>
<table style="width: 807px; border: 0; background-image: url(IMAGE/page_background.gif);">
</table>
<tr>
<td colspan="6" style="height: 21px">
<asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Size="14pt" Font-Underline="True"
ForeColor="#FF0033" Text="Financial News "></asp:Label>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td colspan="6" style="height: 21px; text-align: left">
<span style="font-size: 12pt"><em><a href='<%#DataBinder.Eval(Container.DataItem,"Link") %>'>
<%#DataBinder.Eval(Container.DataItem,"Title") %>
</a></em></span>
</td>
</tr>
<tr>
<td color="black" colspan="6" style="vertical-align: top">
<asp:Label ID="Label1" runat="server" Font-Size="12" ForeColor="black" Text='<%#DataBinder.Eval(Container.DataItem,"pubDate") %>'></asp:Label>
</td>
</tr>
<tr>
<td color="black" colspan="6" style="vertical-align: top">
<asp:Label ID="Label2" runat="server" Font-Size="12" ForeColor="black" Text='<%#DataBinder.Eval(Container.DataItem,"Description") %>'></asp:Label>
</td>
</tr>
<tr>
<td colspan="6" style="vertical-align: top">
<hr />
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td colspan="6" style="height: 21px; text-align: left">
<span style="font-size: 12pt"><em><a href='<%#DataBinder.Eval(Container.DataItem,"Link") %>'>
<%#DataBinder.Eval(Container.DataItem,"Title") %>
</a></em></span>
</td>
</tr>
<tr>
<td color="black" colspan="6" style="vertical-align: top">
<asp:Label ID="Label1" runat="server" Font-Size="12" ForeColor="black" Text='<%#DataBinder.Eval(Container.DataItem,"pubDate") %>'></asp:Label>
</td>
</tr>
<tr>
<td color="black" colspan="6" style="vertical-align: top">
<asp:Label ID="Label2" runat="server" Font-Size="12" ForeColor="black" Text='<%#DataBinder.Eval(Container.DataItem,"Description") %>'></asp:Label>
</td>
</tr>
<tr>
<td colspan="6" style="vertical-align: top">
<hr />
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</td>
</tr>
</table>
<span style="font-size: 16pt; color: #ff0000"><strong style="background-image: url(IMAGE/background.gif)">
</strong></span>
</asp:View>
</asp:MultiView> </div>
<div style="text-align: left">
</div>
</div>
</form>
</body>
</html>
اما نمی دونم چرا خطا می ده.بچه ها خواهش می کنم برام درستش کنید کارم بدجوری لنگه.2هفته هست که به خاطرش نشستم.کمکم کنید.
daffy_duck376
سه شنبه 05 خرداد 1388, 21:07 عصر
دوست عزیز این سایت یه سایت تخصصی هست . چه خطایی میده ؟ مربوط به بانکه یا ریپیتر ؟
aminkk
چهارشنبه 06 خرداد 1388, 10:26 صبح
من برنامه رو گذاشتم اگه میشه دانلود کنید ببینید
daffy_duck376
چهارشنبه 06 خرداد 1388, 10:44 صبح
شرمنده من نتونستم بازش کنم . با 2008 نوشتید ؟ آخه من با 2005 کار میکنم .
aminkk
چهارشنبه 06 خرداد 1388, 12:24 عصر
شرمنده من نتونستم بازش کنم . با 2008 نوشتید ؟ آخه من با 2005 کار میکنم .
در پست بهدیش کدها رو گذاشتم.
توروخدا کمکم کنید
iman_22a
چهارشنبه 06 خرداد 1388, 13:05 عصر
سلام ، بانکتون رو بدین تا من هم یه بررسی کنم .
daffy_duck376
چهارشنبه 06 خرداد 1388, 13:09 عصر
<HeaderTemplate>
<tablestyle="width: 807px; border: 0; background-image: url(IMAGE/page_background.gif);">
</table>
ببین دوست عزیز شما چرا تگ table رو توی این قسمت بستی ؟ این تگ باید در قسمت footer بسته بشه.
<FooterTemplate>
</table>
</FooterTemplate>
در ضمن این مال کدوم table هست؟
شما اومودی تمام جدول کشی رو قاطی کردی . جدول صفحه رو تو ریپیتر بستی و ماله ریپیتر رو دو قسمت
header!
ضمنا در قسمت اول table رو به Style نچسبون .
daffy_duck376
چهارشنبه 06 خرداد 1388, 13:14 عصر
برای طراحی خوب ریپیتر بهتره که عناصر رو توی یه صفحه دیگه طراحی کنی و بعدش کدهاشو بین کدهای ریپیتر کپی کنی
aminkk
چهارشنبه 06 خرداد 1388, 17:05 عصر
بچه ها کارم گیره
milade
چهارشنبه 06 خرداد 1388, 18:11 عصر
سلام
باورت میشه اولین باره دارم تاپیک رو میبینم !
اما جدا" اوارتار aminkk و daffy_duck376 ... رو :قهقهه:
With vb.net:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim myConnection As SqlConnection
Dim myCommand As SqlDataAdapter
myConnection = New SqlConnection("Data Source=USER-PC\SQLEXPRESS; initial catalog=News; integrated security=true")
myCommand = New SqlDataAdapter("Select Top 10 newsID, Title, Description, DatePublished, Link", _
myConnection)
Dim ds As Dataset = new DataSet()
myCommand.Fill(ds)
MyRepeater.DataSource = ds
MyRepeater.DataBind()
End SUb
</script>
<body>
<ASP:Repeater id="MyRepeater" runat="server">
<HeaderTemplate>
<Table width="100%" style="font: 8pt verdana">
<tr style="background-color:DFA894">
<th>
Title
</th>
<th>
Description
</th>
<th>
DatePublished
</th>
<th>
Link
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color:FFECD8">
<td>
<%# DataBinder.Eval(Container.DataItem, "title") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "Description") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "DatePublished") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "Link") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</ASP:Repeater>
</body>
</html>
And C#.net :
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="c#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
SqlConnection myConnection = default(SqlConnection);
SqlDataAdapter myCommand = default(SqlDataAdapter);
myConnection = new SqlConnection("Data Source=USER-PC\\SQLEXPRESS; initial catalog=News; integrated security=true");
myCommand = new SqlDataAdapter("Select Top 10 newsID, Title, Description, DatePublished, Link", myConnection);
Dataset ds = new DataSet();
myCommand.Fill(ds);
MyRepeater.DataSource = ds;
MyRepeater.DataBind();
}
</script>
<body>
<ASP:Repeater id="MyRepeater" runat="server">
<HeaderTemplate>
<Table width="100%" style="font: 8pt verdana">
<tr style="background-color:DFA894">
<th>
Title
</th>
<th>
Description
</th>
<th>
DatePublished
</th>
<th>
Link
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color:FFECD8">
<td>
<%# DataBinder.Eval(Container.DataItem, "title") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "Description") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "DatePublished") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "Link") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</ASP:Repeater>
</body>
</html>
موفق باشید
aminkk
یک شنبه 10 خرداد 1388, 19:14 عصر
سلام
این خط رو خطا می ده:
myCommand.Fill(ds);
می گه Invalid column name 'newsID'.
Invalid column name 'Title'.
Invalid column name 'Description'.
Invalid column name 'DatePublished'.
Invalid column name 'Link'.
ولی من چک کردم همه چی درست بود خطا پس از چیه؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.