一个asp.net新闻列表的问题!拜托帮帮我!
我做毕业设计的,想做一个新闻文摘类的小型网站,框架都做好了(用DIV+CSS的),数据库也做好了,现在就是不知道怎么写代码从数据库提取新闻列表到相应的DIV里!我数据库里...
我做毕业设计的,想做一个新闻文摘类的小型网站,框架都做好了(用DIV+CSS的),数据库也做好了,现在就是不知道怎么写代码从数据库提取新闻列表到相应的DIV里!我数据库里存储的是一个新闻表,包括id和标题及链接网址,谁能告诉我怎么写代码啊?(就是怎么把标题字段显示,然后连接字段作为超链接?)——大概就像百度新闻那样吧!
最好是用“类”方法写的,不行的话直接写也行啊!
(我只有一百分,全给啦!拜托各位高手,帮帮忙,小弟不胜感激啊!)
一楼的大哥,您这个好像是直接用控件,我不想用控件啊?不好控制,另外主要是要后台代码啊,一定是要asp.net的啊,谢谢了! 展开
最好是用“类”方法写的,不行的话直接写也行啊!
(我只有一百分,全给啦!拜托各位高手,帮帮忙,小弟不胜感激啊!)
一楼的大哥,您这个好像是直接用控件,我不想用控件啊?不好控制,另外主要是要后台代码啊,一定是要asp.net的啊,谢谢了! 展开
4个回答
展开全部
不需要控件:
webconfig 文件:
<connectionStrings>
<add name="ConnStrings" connectionString="Data Source=数据库地址;Initial Catalog=数据库名;Persist Security Info=True;User ID=用户名;Password=密码6;" providerName="System.Data.SqlClient"/>
</connectionStrings>
以下是打开数据库,放在你的.cs文件里面,可能是News.aspx.cs:
SqlConnection conn;
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStrings"].ToString());
以下是操作数据库:
StringBuilder sql = new StringBuilder(); //SQL语句
StringBuilder html = new StringBuilder();显示记录,先放在html变量里面
sql.Append("select Id,title,url from 新闻表名");
sql.Append(" order by id desc");
conn.Open();
SqlCommand cmd = new SqlCommand(sql.ToString(), conn);
SqlDataReader rs = cmd.ExecuteReader();
while(rs.Read()){
html.Append(rs["id"] + "<a href='"+rs["url"]+"'>" + rs["title"] + "</a>");
}
conn.Close();//记得关闭,好习惯,用完一次就要关闭
//最后把html放到你的DIV标签里面去
DIV名.InnerHtml = Convert.ToString(html);
//作者的话:你去测试下吧,我没测试,有问题再来问,记得把错误提示贴出来,就这样,来了个小姐等不急了,我得活动活动去
webconfig 文件:
<connectionStrings>
<add name="ConnStrings" connectionString="Data Source=数据库地址;Initial Catalog=数据库名;Persist Security Info=True;User ID=用户名;Password=密码6;" providerName="System.Data.SqlClient"/>
</connectionStrings>
以下是打开数据库,放在你的.cs文件里面,可能是News.aspx.cs:
SqlConnection conn;
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStrings"].ToString());
以下是操作数据库:
StringBuilder sql = new StringBuilder(); //SQL语句
StringBuilder html = new StringBuilder();显示记录,先放在html变量里面
sql.Append("select Id,title,url from 新闻表名");
sql.Append(" order by id desc");
conn.Open();
SqlCommand cmd = new SqlCommand(sql.ToString(), conn);
SqlDataReader rs = cmd.ExecuteReader();
while(rs.Read()){
html.Append(rs["id"] + "<a href='"+rs["url"]+"'>" + rs["title"] + "</a>");
}
conn.Close();//记得关闭,好习惯,用完一次就要关闭
//最后把html放到你的DIV标签里面去
DIV名.InnerHtml = Convert.ToString(html);
//作者的话:你去测试下吧,我没测试,有问题再来问,记得把错误提示贴出来,就这样,来了个小姐等不急了,我得活动活动去
展开全部
最简单的使用datagrid、datalist或Repeater控件绑定新闻数据库里面的标题和id
<asp:DataGrid ID="DgSearch" runat="server" AutoGenerateColumns="False" Width="100%" GridLines="None">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<table id="Table2" border="1" bordercolor="#d8d8f0" cellpadding="0" cellspacing="0"
width="100%">
<tr class="tr" onmouseout="javascript:this.className='tr';" onmouseover="javascript:this.className='trOnMOver';">
<td height="22" align="left" style="width: 60%">
<font color="#000000"> <font face="宋体">·</font><a href="<%# ContentUrl(Convert.ToInt32(DataBinder.Eval(Container.DataItem,"newsid"))) %>" target="_blank"><%# UBB(OutCheckStr(DataBinder.Eval(Container.DataItem,"title").ToString())) %></a></font>
</td>
<td align="center" height="27" width="25%">
<%# DateTime.Parse(Convert .ToString ( DataBinder.Eval(Container.DataItem,"adddate"))).ToShortDateString () %>
</td>
<td align="center" height="27" width="15%">
<%# DataBinder.Eval(Container.DataItem,"click").ToString () %>
</td>
</tr>
</table>
</ItemTemplate>
<HeaderTemplate>
<table id="Table3" border="1" bordercolor="#d8d8f0" cellpadding="0" cellspacing="0"
width="100%">
<tr class="tr" onmouseout="javascript:this.className='tr';" onmouseover="javascript:this.className='trOnMOver';">
<td height="22" align="left" style="width: 60%">
<font color="#000000"> <b>新闻标题</b>
</td>
<td align="center" height="27" width="25%">
<b>发布日期</b>
</td>
<td align="center" height="27" width="15%">
<b>浏览次数</b>
</td>
</tr>
</table>
</HeaderTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:DataGrid ID="DgSearch" runat="server" AutoGenerateColumns="False" Width="100%" GridLines="None">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<table id="Table2" border="1" bordercolor="#d8d8f0" cellpadding="0" cellspacing="0"
width="100%">
<tr class="tr" onmouseout="javascript:this.className='tr';" onmouseover="javascript:this.className='trOnMOver';">
<td height="22" align="left" style="width: 60%">
<font color="#000000"> <font face="宋体">·</font><a href="<%# ContentUrl(Convert.ToInt32(DataBinder.Eval(Container.DataItem,"newsid"))) %>" target="_blank"><%# UBB(OutCheckStr(DataBinder.Eval(Container.DataItem,"title").ToString())) %></a></font>
</td>
<td align="center" height="27" width="25%">
<%# DateTime.Parse(Convert .ToString ( DataBinder.Eval(Container.DataItem,"adddate"))).ToShortDateString () %>
</td>
<td align="center" height="27" width="15%">
<%# DataBinder.Eval(Container.DataItem,"click").ToString () %>
</td>
</tr>
</table>
</ItemTemplate>
<HeaderTemplate>
<table id="Table3" border="1" bordercolor="#d8d8f0" cellpadding="0" cellspacing="0"
width="100%">
<tr class="tr" onmouseout="javascript:this.className='tr';" onmouseover="javascript:this.className='trOnMOver';">
<td height="22" align="left" style="width: 60%">
<font color="#000000"> <b>新闻标题</b>
</td>
<td align="center" height="27" width="25%">
<b>发布日期</b>
</td>
<td align="center" height="27" width="15%">
<b>浏览次数</b>
</td>
</tr>
</table>
</HeaderTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先从最后台写哦,我就不写全了,自己补一下把。
每一个层都是一个独立的类库,这里为了简便,我省略了一些步骤,直接写最关键的地方了
数据模型层:
新闻实体类NewsInfo
public class NewsInfo
{
//字段省略
}
数据访问层:
数据访问类NewsDao
public class NewsDao
{
//方法用于获取所有的文章列表。不考虑分页了
public IList<NewsInfo> GetAllNewsList();
}
UI逻辑层,也就是页面后置的后置代码中的部分
1、数据绑定的方法。在Form_load方法中进行调用
private void DataBind()
{
//页面中会有一个Repeater控件,为这个Repeater控件设置数据源并进行绑定
this.Repeater1.DataSource = NewsDao.GetAllNewsList();
this.Repeater1.DataBind();
}
2、如果有需要,要在From_load中加入如下代码:
//该方法主要用于判断当前页面是否是回传数据的页面,这个概念看一下MSDN吧
if(!IsPostBack)
{
DataBind();
}
UI表示层,页面中数据绑定的显示层:
就拿绑定repeater控件为例把:
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<a href='<%# Eval("这里写你绑定超链接的(NewsInfo的超链接字段)的名称") >'><%# Eval("这里写你绑定超链接名称的字段")%></a>
</ItemTemplate>
</asp:Repeater>
如果你不用Repeater控件,那么就必须在页面中使用<%if%><%else%>的语句,那样很难使人能够阅读懂。Repeater是个效率很高的服务器控件,在页面中循环输出数据时,就是用这个控件就可以了。
每一个层都是一个独立的类库,这里为了简便,我省略了一些步骤,直接写最关键的地方了
数据模型层:
新闻实体类NewsInfo
public class NewsInfo
{
//字段省略
}
数据访问层:
数据访问类NewsDao
public class NewsDao
{
//方法用于获取所有的文章列表。不考虑分页了
public IList<NewsInfo> GetAllNewsList();
}
UI逻辑层,也就是页面后置的后置代码中的部分
1、数据绑定的方法。在Form_load方法中进行调用
private void DataBind()
{
//页面中会有一个Repeater控件,为这个Repeater控件设置数据源并进行绑定
this.Repeater1.DataSource = NewsDao.GetAllNewsList();
this.Repeater1.DataBind();
}
2、如果有需要,要在From_load中加入如下代码:
//该方法主要用于判断当前页面是否是回传数据的页面,这个概念看一下MSDN吧
if(!IsPostBack)
{
DataBind();
}
UI表示层,页面中数据绑定的显示层:
就拿绑定repeater控件为例把:
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<a href='<%# Eval("这里写你绑定超链接的(NewsInfo的超链接字段)的名称") >'><%# Eval("这里写你绑定超链接名称的字段")%></a>
</ItemTemplate>
</asp:Repeater>
如果你不用Repeater控件,那么就必须在页面中使用<%if%><%else%>的语句,那样很难使人能够阅读懂。Repeater是个效率很高的服务器控件,在页面中循环输出数据时,就是用这个控件就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
webconfig 文件:
<connectionStrings>
<add name="ConnStrings" connectionString="Data Source=数据库地址;Initial Catalog=数据库名;Persist Security Info=True;User ID=用户名;Password=密码6;" providerName="System.Data.SqlClient"/>
</connectionStrings>
以下是打开数据库,放在你的.cs文件里面,可能是News.aspx.cs:
SqlConnection conn;
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStrings"].ToString());
以下是操作数据库:
StringBuilder sql = new StringBuilder(); //SQL语句
StringBuilder html = new StringBuilder();显示记录,先放在html变量里面
sql.Append("select Id,title,url from 新闻表名");
sql.Append(" order by id desc");
conn.Open();
SqlCommand cmd = new SqlCommand(sql.ToString(), conn);
SqlDataReader rs = cmd.ExecuteReader();
while(rs.Read()){
html.Append(rs["id"] + "<a href='"+rs["url"]+"'>" + rs["title"] + "</a>");
}
conn.Close();//记得关闭,好习惯,用完一次就要关闭
//最后把html放到你的DIV标签里面去
DIV名.InnerHtml = Convert.ToString(html)
<connectionStrings>
<add name="ConnStrings" connectionString="Data Source=数据库地址;Initial Catalog=数据库名;Persist Security Info=True;User ID=用户名;Password=密码6;" providerName="System.Data.SqlClient"/>
</connectionStrings>
以下是打开数据库,放在你的.cs文件里面,可能是News.aspx.cs:
SqlConnection conn;
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStrings"].ToString());
以下是操作数据库:
StringBuilder sql = new StringBuilder(); //SQL语句
StringBuilder html = new StringBuilder();显示记录,先放在html变量里面
sql.Append("select Id,title,url from 新闻表名");
sql.Append(" order by id desc");
conn.Open();
SqlCommand cmd = new SqlCommand(sql.ToString(), conn);
SqlDataReader rs = cmd.ExecuteReader();
while(rs.Read()){
html.Append(rs["id"] + "<a href='"+rs["url"]+"'>" + rs["title"] + "</a>");
}
conn.Close();//记得关闭,好习惯,用完一次就要关闭
//最后把html放到你的DIV标签里面去
DIV名.InnerHtml = Convert.ToString(html)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询