日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

文章的上一篇和下一篇導航

 悟靜 2012-09-22

要SQL查詢語句前,就須把上一篇和下一篇的文章ID找出來,下面的SQL語句有些字段已經(jīng)省略。

View Code
SELECT [ArticleId],[Subject],
    (SELECT MAX([ArticleId]FROM [dbo].[Article] AS a1 WHERE a1.[ArticleId] < a.[ArticleId]AS [PrevArticleId],
    (SELECT MIN([ArticleId]FROM [dbo].[Article] AS a1 WHERE a1.[ArticleId] > a.[ArticleId]AS [NextArticleId]    
    FROM [dbo].[Article] AS a

 

執(zhí)行結果:

 

數(shù)據(jù)庫方面完成了,接下來在asp.net實現(xiàn),可以首先創(chuàng)建一個用戶控件:

ArticleNavigation.ascx:

View Code
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="ArticleNavigation.ascx.vb" Inherits="SiteControls_ArticleNavigation" %>
上一篇:<asp:HyperLink ID="HyperLinkPrev" runat="server" Target="_blank"></asp:HyperLink> <br />
下一篇:<asp:HyperLink ID="HyperLinkNext" runat="server" Target="_blank"></asp:HyperLink>

 

ArticleNavigation.ascx.vb:

View Code
復制代碼
Imports System.Data
Imports Insus.NET

Partial Class SiteControls_ArticleNavigation
    Inherits System.Web.UI.UserControl
    Dim objArticle As New Article()

    Private _PrevArticleId As String
    Private _NextArticleId As String

    Public WriteOnly Property PrevArticleId As String
        Set(value As String)
            _PrevArticleId = value
        End Set
    End Property

    Public WriteOnly Property NextArticleId As String
        Set(value As String)
            _NextArticleId = value
        End Set
    End Property

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        Data_Binding()
    End Sub

    Private Sub Data_Binding()
        If String.IsNullOrEmpty(_PrevArticleId) Then
            Me.HyperLinkPrev.Text = ""
        Else
            Dim objPrevDataRow As DataRow = objArticle.GetArticleByPrimaryKey(_PrevArticleId).Rows(0)
            Me.HyperLinkPrev.Text = objPrevDataRow("Subject")
            Me.HyperLinkPrev.NavigateUrl = "~/ArticleView.aspx?ID=" & _PrevArticleId
        End If

        If String.IsNullOrEmpty(_NextArticleId) Then
            Me.HyperLinkNext.Text = ""
        Else
            Dim objNextDataRow As DataRow = objArticle.GetArticleByPrimaryKey(_NextArticleId).Rows(0)
            Me.HyperLinkNext.Text = objNextDataRow("Subject")
            Me.HyperLinkNext.NavigateUrl = "~/ArticleView.aspx?ID=" & _NextArticleId
        End If
    End Sub

End Class
復制代碼

 

在文章瀏覽的aspx中,用戶控控件需要傳入前一篇的文章ID和下一篇的文章ID,下面的PrevArticleIdNextArticleId兩個都是用戶控件的public的屬性。 

View Code
 <uc1:ArticleNavigation ID="ArticleNavigation1" runat="server" PrevArticleId='<%# Eval("PrevArticleId")%>'
                NextArticleId='<%Eval("NextArticleId")%>' />

 

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多