大家来看看我的论坛上的帖子列表控件的导航模式(帖了该控件的代码),给点意见???

LevinForum 2003-08-20 08:33:22
http://forum.lostinet.com/Forum.Aspx


帖子的查询选项有:
分页:跳转到指定页
范围:(全论坛,某个组,某个板)
排序:(默认按最后发帖/回复时间,可以选择只按发贴的时间)
发贴者:按作者右边的">>"就可以指定.
回复者:按回复人的右边">>"
前两的关系:默认为交集(AND),按回复人左的"||"可以搜索为并集
关键字:在下面输入多个关键字,用","号隔开,多选,就能搜索主题的标题.

只要使用那个帖子列表内的链界,那么除了分页,上面的选项都是关联的.

Page是ForumPage,代码:
http://forum.lostinet.com/Topic.Aspx?TopicID=3226155&_lastreply=347
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jpyc 2003-10-31
  • 打赏
  • 举报
回复
你没用CSS?显示的乱78糟
hubinasm 2003-10-31
  • 打赏
  • 举报
回复
UP一下
LevinForum 2003-08-20
  • 打赏
  • 举报
回复
up
LevinForum 2003-08-20
  • 打赏
  • 举报
回复

<%--
搜索和分页
--%>

<table style="width:<%=Config.FrameWidth%>;" border=0 cellpadding=0>
<tr><td>
<table border=0 cellpadding=0>
<tr>
<td>
 范围 </td>
<td>
<select id=selScope>
<option value='f'><%=Config.ForumName%> ( 首页 )</option>
<%
ForumGroup[] groups=BoardAccess.ListGroupBatch(BoardAccess.ListGroups());
for(int ig=0;ig<groups.Length;ig++)
{
ForumGroup group=groups[ig];
%><option value='g<%=group.value_id%>'><%=ig==groups.Length-1?"└":"├"%><%=group.value_name%></option><%
ForumBoard[] boards=BoardAccess.ListBoardBatch(BoardAccess.ListBoards(group.value_id));
for(int ib=0;ib<boards.Length;ib++)
{
ForumBoard board=boards[ib];
%><option value='b<%=board.value_id%>'><%=ig==groups.Length-1?"":"│"%><%=ib==boards.Length-1?"└":"├"%><%=board.value_name%></option><%
}
}
%>
</select></td>
<td>
 主题查询: </td>
<td>
<input id=keyWords style="width:120px" value='<%=Server.HtmlEncode(U.Join(Page.TopicKeys,","))%>' /></td>
<td>
<input type="button" id=btnkwsearch value="查询"></td>
</tr>
</table>
</td><td align=right>
<table border=0 cellpadding=2 cellspacing=0>
<tr>
<td style="padding-top:5px;">
<%if(Page.PageIndex==1){%>
<a style="font-weight:bold;color:blue" disabled>首页</a>
<%}else{%>
<a style="font-weight:bold;color:blue" href='<%=Page.ForumBridge.MakeLink(Page.TopicQuery,1)%>'>首页</a>
<%}%>
</td>
<%
foreach(int page in Page.PageIndexes)
{
if(page!=Page.PageIndex)
{
%>
<td><a style="font-weight:bold;color:blue"
href='<%=Page.ForumBridge.MakeLink(Page.TopicQuery,page-1-Page.PageCount)%>'
onmouseover='href="<%=Page.ForumBridge.MakeLink(Page.TopicQuery,page)%>"'
>[<%=page%>]</a></td>
<%
}
else
{
%>
<td><a style="font-weight:bold;color:blue" disabled=disabled>[<%=page%>]</a></td>
<%
}
}
%>
<td><select id=selectPage>
<%for(int i=1;i<=Page.PageCount;i+=1024){%>
<script>new function(){
for(var i=<%=i%>;i<=<%=Math.Min(i+1024,Page.PageCount)%>;i++)
document.write("<OPTION value="+i+">"+i+"</OPTION>");
}</script>
<%}%>
</select></td>
</tr>
</table>
</td></tr>
</table>
<script>
new function()
{
var url='<%=Page.ForumBridge.MakeLink(Page.TopicQuery,1)%>';

var urlf='<%=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeScope(TopicQueryScope.Forum,0),1)%>'
var urlg='<%=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeScope(TopicQueryScope.Group,0),1)%>'
var urlb='<%=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeScope(TopicQueryScope.Board,0),1)%>'

SetSelectValue(selScope,'<%=Page.TopicQuery.Scope==TopicQueryScope.Forum?"":(Page.TopicQuery.Scope==TopicQueryScope.Group?"g"+Page.TopicQuery.GBID:"b"+Page.TopicQuery.GBID)%>');

function selScope.onchange()
{
var v=selScope.value;
var c=v.charAt(0);
if(c=="f")
url=urlf;
else if(c=="g")
url=ReplaceParam(urlg,"GroupID="+v.substring(1));
else if(c=="b")
url=ReplaceParam(urlb,"BoardID="+v.substring(1));
location.href=url;
}

function keyWords.onkeydown()
{
if(event.keyCode==13)
DoSearch();
}
function btnkwsearch.onclick()
{
DoSearch();
}
function DoSearch()
{
location.href=ReplaceParam(url,"Keys="+keyWords.value);
}

var sel=document.all.selectPage;
sel.selectedIndex=<%=Page.PageIndex-1%>;
sel.attachEvent("onchange",function(){
if(sel.value=="1")
location.href=url;
else
location.href=ReplaceParam(url,"Page="+sel.value);
});
}
</script>
LevinForum 2003-08-20
  • 打赏
  • 举报
回复


<%@ Control Language="c#" AutoEventWireup="false" Inherits="LevinForum.Skins.TopicList"%>
<!-- #include file="../../Import.txt" -->
<%--
Topic 列表
--%>
<%
//不指定发帖者
string user0href=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeTopicUser(0),1);
%>

<table class="TopicList" border="1" bordercolor=white cellpadding="4"
style="border-collapse:collapse;background-color:#f6f6f6;" width="<%=Config.FrameWidth%>">
<colgroup>
<col class="TLC1"/>
<col class="TLC2"/>
<col class="TLC3"/>
<col class="TLC4"/>
<col class="TLC5"/>
<col class="TLC6"/>
<col class="TLC7"/>
<col class="TLC8"/>
<col class="TLC9"/>
</colgroup>
<thead>
<tr class="TLH">
<td> </td>
<td>人气</td>
<td> </td>
<td>标题</td>
<td>作者</td>
<%if(Page.TopicQuery.TopicUserID==0){%>
<td>>></td>
<%}else{%>
<td><a href='<%=user0href%>' style="color:white"><<</a></td>
<%}%>
<td>回复</td>
<td>
<%if(Page.ByUpdate){%>
<a href='<%=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeTimeOrder(TopicQueryTimeOrder.ByInsert),1)%>'
title='点击后按发表的时间进行排序'
style='color:white;text-decoration:underline'>发表</a> / ↓回复
<%}else{%>
↓发表 / <a href='<%=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeTimeOrder(TopicQueryTimeOrder.ByUpdate),1)%>'
title='点击后按更新的时间进行排序'
style='color:white;text-decoration:underline'>回复</a>
<%}%>
</td>
<td>
<%--if(Page.TopicForumUser!=null&&Page.ReplyForumUser!=null){--%>
<a href='<%=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeTopicAndReply(!Page.TopicAndReply),1)%>'
style='color:white;text-decoration:underline'
<%if(Page.TopicForumUser==null||Page.ReplyForumUser==null){%>
onclick='alert("此选项只在帖主和回复人同时指定时才起作用")'
<%}%>
><%=Page.TopicAndReply?"||":"&&"%></a>
<%--}--%>
回复人
<%if(Page.ReplyForumUser!=null){%>
<a href='<%=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeReplyUser(0),1)%>'
style='color:white;text-decoration:underline'><<</a>
<%}%></td>
</tr>
</thead>
<tbody>
<%
foreach(ForumTopic topic in Page.Topics)
{
ForumBoard board=BoardAccess.GetBoardById(topic.value_boardid);
ForumUser author=UserAccess.GetUserById(topic.value_userid);
string html="";
int rpluserid;
if(!topic.sql_lastreply.IsNull)
{
ForumReply reply=TopicAccess.GetReplyById(topic.value_lastreply);
ForumUser replier=UserAccess.GetUserById(reply.value_userid);
html=ForumBridge.MakeAnchor_UserInfo(replier);
rpluserid=reply.value_userid;
}
else
{
rpluserid=topic.value_userid;
}
if(Page.ReplyForumUser==null)
html+=" <a href='"+Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeReplyUser(rpluserid),1)+"'>>></a>";
td9.InnerHtml=html;

%>

<tr class="TLB" onmouseover='FirstMouseOver(uniqueID)'>
<td> </td>
<%--人气--%>
<td><%=topic.object_clickcount%></td>
<td> </td>
<%--标题--%>
<td>
<img id='TopicPlus<%=topic.value_id%>' src='<%=Page.ResolveSkinPath("/plus.gif")%>'
onmouseover='RegisterTopicPlus(<%=topic.value_id%>)' width=16 height=13
><img id='TopicSub<%=topic.value_id%>' src='<%=Page.ResolveSkinPath("/sub.gif")%>'
style="display:none" width=16 height=13
>
<a href='<%=Page.ForumBridge.MakeLink_Topic(topic)%>'
target="_blank"><%=Page.Server.HtmlEncode(topic.value_title)%>
<%if(ShowBoardName){%><span style="color:gray">[<%=board.value_name%>]</span><%}%>
</a></td>
<%--作者--%>
<td><%=Page.ForumBridge.MakeAnchor_UserInfo(author)%></td>
<%if(Page.TopicQuery.TopicUserID==0){%>
<td><a href='<%=Page.ForumBridge.MakeLink(Page.TopicQuery.ChangeTopicUser(topic.value_userid),1)
%>'>>></a></td>
<%}else{%>
<td><%----%></td>
<%}%>
<%--回复数--%>
<td><%=topic.value_replycount%></td>
<%--时间--%>
<td><%=(Page.ByUpdate||topic.isnull_lastreply)?null:topic.value_dtinsert.ToString("MM-dd HH:mm")+"<br/>"%><%=topic.value_dtupdate.ToString("MM-dd HH:mm")%></td>
<%--回复人--%>
<td id="td9" runat="server"> </td>
</tr>

<%
}
%>

</tbody>

<tfoot>
<tr class="TLF">
<td> </td>
<td>人气</td>
<td> </td>
<td>标题</td>
<td>作者</td>
<td> </td>
<td>回复</td>
<td>时间</td>
<td>回复人</td>
</tr>
</tfoot>

</table>

62,025

社区成员

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

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

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

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