剑三团队界面设置:用DataGrid或DataList显示最新的10条新闻,包括新闻分类和标题和添加时间,单击标题跳转到新闻内容显示页

来源:百度文库 编辑:高考问答 时间:2024/05/10 16:10:34
asp.net
麻烦页面部分能不能再详细点
加分!

下面是用datagrid的例子(我用的是用户自定义控件)
※hotNews.ascx 部分代码
1。写一个连接数据库的类 通过它建立连接
SqlConnection conn=DB.createconn();
2。创建命令
SqlCommand cmd=new SqlCommand("select top 10 * from newsMaster ",conn);
conn.Open();
SqlDataReader sdr=cmd.ExecuteReader();
3。绑定数据源
this.DataGrid1.DataSource=sdr;
4。绑定datagrid
this.DataGrid1.DataBind();
※页面部分:
只需在自定义控件中加入datagrid设置一下
<asp:DataGrid id="DataGrid1" runat="server" Width="283px" GridLines="Horizontal" AutoGenerateColumns="False"
ShowHeader="False" Height="100%">
<ItemStyle Height="10px"></ItemStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<FONT color="#ffffff">※</FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn DataNavigateUrlField="newsID" DataNavigateUrlFormatString="ShowNews.aspx?newsID={0}"
DataTextField="newsTitle"></asp:HyperLinkColumn>
</Columns>
</asp:DataGrid></P>
※ShowNews.aspx
通过
Request.QueryString["newsID"]得到传来的newsID
然后从数据库中读取该条新闻
显示在该页面就可以了
§后台代码§
string strNewsID=Request.QueryString["newsID"];
SqlConnection con=DB.createconn();
con.Open();
SqlCommand cmd=new SqlCommand("select * from newsMaster where newsID='"+strNewsID+"'",con);
SqlDataAdapter adpater=new SqlDataAdapter();
adpater.SelectCommand=cmd;
DataSet ds=new DataSet();
adpater.Fill(ds,"newsMaster");
DataTable dt=ds.Tables["newsMaster"];
this.DataList1.DataSource=dt;
this.DataList1.DataBind();
cmd.Dispose();
con.Close();
§页面部分§我用的datagrid接受数据
因为新闻内容不定的:
<asp:DataList id="DataList1" runat="server">
<ItemTemplate>
<TABLE id="Table2" cellSpacing="1" cellPadding="1" width="300" border="1">
<TR><TD>标题:
<%# DataBinder.Eval(Container.DataItem,"newsTitle")%></TD>
</TR>
<TR>
<TD><%# DataBinder.Eval(Container.DataItem,"newsContent")%></TD>
</TR>
<TR>
<TD>发表时间:<%# DataBinder.Eval(Container.DataItem,"updateTime")%></TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:DataList>
代码绝对有效的

用自定义模板,相当于以前的ASP一样的。GRID时,表完全显示出来的应用很少的。。。。

写语句:

select top 10 新闻分类,标题,添加时间 from 新闻
where .......

放入DataSet:
public void oncesql(string strsql,string tname,DataSet dst)
{
SqlConnection oconnection=new SqlConnection(connstr);
oconnection.Open();
SqlDataAdapter sqldataadapter1 = new SqlDataAdapter();
SqlCommand ocommand = new SqlCommand();

sqldataadapter1.SelectCommand = ocommand;
sqldataadapter1.SelectCommand.Connection = oconnection;
sqldataadapter1.SelectCommand.CommandType = CommandType.Text;
sqldataadapter1.SelectCommand.Connection = oconnection;
sqldataadapter1.SelectCommand.CommandText = strsql;
sqldataadapter1.Fill(dst, tname);
oconnection.Dispose();
sqldataadapter1.Dispose();
ocommand.Dispose();
}

绑写数据源
this.dgrd_fzr.DataSource=dst.Tables["????"];
this.dgrd_fzr.DataBind();

页面部分自己写了,

写得不错