求类似前台首页新闻标题循环显示的代码

juanqing 2011-02-18 04:36:47
·山西将在两年内实现中等职业教育
·2011考研人看过来:完美复试全攻
·[转载]湖北高水平运动员四类考生
·[转载]"原生态"日记:中国底层公
·[转载]孪生哥哥背残疾弟弟上学八


类似上面这种形式的显示,完整代码,可以的话打包上传最好,谢谢!
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
juanqing 2011-02-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wxr0323 的回复:]
C# code
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.IO;
namespace helper
{
public class helper
……
[/Quote]
非常感谢,谢谢你,我试试。
子夜__ 2011-02-18
  • 打赏
  • 举报
回复
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.IO;
namespace helper
{
public class helper
{
public static DataSet ExecuteDataset(string connString, CommandType txtType, string sql)
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = txtType;
cmd.CommandText = sql;
cmd.Connection = conn;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
public class SqlHelper
{
/// <summary>
/// 根据模板读取数据库内容,无需创建其他列表,直接创建html
/// </summary>
/// <param name="strFileName">生成的网页文件名</param>
/// <param name="strTmplPath">网页模板文件的路径</param>
/// <param name="str">替换后的html文件</param>
public static string re_lable(string strTmplPath)
{
//取模板文件的内容
System.Text.Encoding code = System.Text.Encoding.GetEncoding("gb2312");
StreamReader sr = null;
StreamWriter sw = null;
string str = "";
try
{
sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("./") + "HTMLPage.htm", code);
str = sr.ReadToEnd(); // 读取文件
sr.Close();
}
catch (Exception exp)
{
Console.Write(exp);
}
return str;
}
public static string read_sys(string str)
{
return str;
}
}
public class SplitPage
{
/// <summary>
/// 根据模板读取数据库内容,无需创建其他列表,直接创建html
/// </summary>
/// <param name="strFileName">[$NewsList$]</param>
/// <param name="strTmplPath">网页模板文件的路径</param>
/// <param name="str">替换后的html文件</param>
///
public static void splitpage(string htm, int pagesize)
{
string connString = "Data

Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True";
string sql = "select * from ProList";
DataSet ds = helper.ExecuteDataset(connString, CommandType.Text, sql);//helper类
DataTable dt = ds.Tables[0];
if (dt.Rows.Count / pagesize >= 1)
{
int maxi = 0;
//取出所有新闻列表
if (dt.Rows.Count % pagesize == 0)
{
maxi = dt.Rows.Count / pagesize;
}
else
{
maxi = (dt.Rows.Count / pagesize) + 1;
}
for (int i = 0; i < maxi; i++) // i 分页的页数(生成页面的个数)
{
StringBuilder sb = new StringBuilder();//新闻列表
//生成新闻列表
for (int h = i * pagesize; h < (i + 1) * pagesize; h++)//
{
if (h < dt.Rows.Count)
{
sb.Append("<li><span class=\"newstitle\"><a href=\"/news/" + dt.Rows[h]

["ID"].ToString() + ".html\" title=\"" + dt.Rows[h]["Name"].ToString() + "\">" + dt.Rows[h]["Name"].ToString() +

"</a></span><div class=\"clear\"></div></li>");
}
}
sb.Append("<div class=\"changepage\">"); //maxi
sb.Append("<div class=\"pre1\"><a href=\"news_1.html\"><img src=\"pre1.jpg\" width=\"15\"

height=\"10\" border=\"0\" alt=\"返回首页\" /></a></div>");
if (i == 0)//判断如果为第一页,则不把“上一页”设为超链接
{
sb.Append("<div class=\"pre2\"><a href=\"#\"><img src=\"pre2.jpg\" width=\"11\"

height=\"10\" border=\"0\" alt=\"上一页\" /></a></div>");
}
else
{
sb.Append("<div class=\"pre2\"><a href=\"news_" + i + ".html\"><img src=\"pre2.jpg\"

width=\"11\" height=\"10\" border=\"0\" alt=\"上一页\" /></a></div>");
}
if (i < 10)
{
for (int f = 1; f < 10; f++)//每页显示9个分页数字
{
if (f == i + 1)
{
sb.Append(" <div class=\"num\"><a href=\"news_" + f.ToString() + ".html\"

class=\"curpage\">" + f.ToString() + "</a></div>");
}
else if (f <= maxi)
{
sb.Append("<div class=\"num\"><a href=\"news_" + f.ToString() + ".html\">" +

f.ToString() + "</a></div>");
}
}
}
else
{
int maxfeye = i + 5;
int minfeye = i - 5;
for (int f = minfeye; f < maxfeye; f++)//每页显示9个分页数字
{
if (f == i + 1)
{
sb.Append("<div class=\"num\"><a href=\"news_" + f.ToString() + ".html\"

class=\"curpage\">" + f.ToString() + "</a></div>");
}
else if (f <= maxi)
{
sb.Append("<div class=\"num\"><a href=\"news_" + f.ToString() + ".html\">" +

f.ToString() + "</a></div>");
}
}
}
if (i == dt.Rows.Count / pagesize) //判断如果为最后一页,则不把“下一页”设为超链接
{
sb.Append("<a href=\"#\"><img src=\"next2.jpg\" width=\"11\" height=\"10\" border=\"0\"

alt=\"下一页\" /></a>");
}
else
{
sb.Append("<div class=\"pre2\"><a href=\"news_" + (i + 2) + ".html\"><img

src=\"next2.jpg\" width=\"11\" height=\"10\" border=\"0\" alt=\"下一页\" /></a></div>");
}
sb.Append("<div class=\"pre1\"><a href=\"news_" + (maxi).ToString() + ".html\"><img

src=\"next1.jpg\" width=\"15\" height=\"10\" border=\"0\" alt=\"末页\" /></a></div>");
sb.Append("<div class=\"clear\"></div> </div>");

Encoding code = Encoding.GetEncoding("gb2312");
StreamReader sr = null;
StreamWriter sw = null;
string str = null;
str = SqlHelper.re_lable(htm);
//根据新闻的ID

int fileName = i + 1;
string CreateFileName = "news_" + fileName.ToString();
str = str.Replace("[$NewsList$]", sb.ToString());//替换列表标签
//生成静态文件
try
{
str = SqlHelper.read_sys(str);
sw = new StreamWriter(System.Web.HttpContext.Current.Server.MapPath("./") + CreateFileName

+ ".html", false, code);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sw.Close();
}
}//for语句结束

}
}
}



关键是要看他怎么拼接的新闻连接字符串的HTML

然后输出到页面

  for (int h = i * pagesize; h < (i + 1) * pagesize; h++)//
{
if (h < dt.Rows.Count)
{
sb.Append("<li><span class=\"newstitle\"><a href=\"/news/" + dt.Rows[h]

["ID"].ToString() + ".html\" title=\"" + dt.Rows[h]["Name"].ToString() + "\">" + dt.Rows[h]["Name"].ToString() +

"</a></span><div class=\"clear\"></div></li>");
}
}
wuyq11 2011-02-18
  • 打赏
  • 举报
回复
repeater
datalist都可实现
itemtemplate中li
无涯乌鸦五雅 2011-02-18
  • 打赏
  • 举报
回复
<html>
<head>
<title>自动向上滚动的文本,鼠标放上去就停止</title>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">
<style type="text/css">
#demo a {
width:100%;
overflow:hidden;
font:12px/16px tahoma;
display:block;
text-decoration:none;
margin:2px;
color:#4a551c;
padding-left:2px;
text-align:left;
}
#demo a:hover {
color:#ff6600;
}
</style>
</head>
<body>
<div id="demo" style="overflow: hidden; height: 132px; width: 400px; border: 1px solid #dde5bc;">
<div id="demo1">
<a href="#">该特效代码完全兼容IE, FF, Opera, 其它的还未经测试……</a> <a href="#">模板无忧收集整理,希望大家多提意见</a>
<a href="#">该特效代码完全兼容IE, FF, Opera, 其它的还未经测试……</a> <a href="#">模板无忧收集整理,希望大家多提意见</a>
<a href="#">该特效代码完全兼容IE, FF, Opera, 其它的还未经测试……</a> <a href="#">模板无忧收集整理,希望大家多提意见</a>
<a href="#">该特效代码完全兼容IE, FF, Opera, 其它的还未经测试……</a> <a href="#">模板无忧收集整理,希望大家多提意见</a>
<a href="#">该特效代码完全兼容IE, FF, Opera, 其它的还未经测试……</a> <a href="#">模板无忧收集整理,希望大家多提意见</a>
<a href="#">该特效代码完全兼容IE, FF, Opera, 其它的还未经测试……</a> <a href="#">模板无忧收集整理,希望大家多提意见</a>
</div>
<div id="demo2">
</div>
</div>

<script>
var speed=40
var demo=document.getElementById("demo");
var demo2=document.getElementById("demo2");
var demo1=document.getElementById("demo1");
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo2.offsetTop-demo.scrollTop<=0)
demo.scrollTop-=demo1.offsetHeight
else{
demo.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>

</body>
</html>
guozhaoyou1 2011-02-18
  • 打赏
  • 举报
回复
去懒人网copy个 很多

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧