Red de conocimiento informático - Computadora portátil - ¡El artículo de asp.net tiene demasiado texto y necesita paginación!

¡El artículo de asp.net tiene demasiado texto y necesita paginación!

Aquí hay un fragmento de código para su referencia:

Primero recupere el artículo que se va a escribir (artículo muy largo) de la base de datos

cadena privada OutputArticle()

{//Solo genera un registro con "AriticID" como 2

cadena m_strRet = "";

. . . .

// Código para recuperar artículos en la base de datos.

return m_strRet

}

Paginación del artículo: cadena pública OutputBySize(string p_strContent)

{

int m_intPageSize=1000; //Tamaño del artículo por página

int m_intCurrentPage = 1; //Establece la primera página como página inicial

int m_intTotalPage = 0;

int m_intArticlelength = p_strContent.Length; //Longitud del artículo

if (m_intPageSize lt; m_intArticlelength)

{//Si el tamaño de cada página es mayor que la longitud del artículo , sin paginación

if (m_intArticlelength m_intPageSize == 0)

{//Establece el número total de páginas

m_intTotalPage = m_intArticlelength / m_intPageSize

}

else

{//si el tamaño total

m_ intTotalPage = m_intArticlelength / m_intPageSize 1

}

if (Request.QueryString["pages"] ! = null)

{//Establecer el número de página actual

intentar

{//Manejar la barra de direcciones de excepción Valor

m_intCurrentPage = Convert.ToInt32(Request.

if (m_intCurrentPage gt; m_intTotalPage)

m_intCurrentPage = m_intTotalPage;

}

catch

{

m_ intCurrentPage = m_intCurrentPage

}

}

//Establece la configuración del contenido de la página para obtener el tamaño de la página actual

m_intPageSize = m_intCurrentPage lt m_ intTotalPage ?m_intPageSize: (m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1));

cadena m_strRet = p_strContent.Substring(m_intPageSize * (m_intCurrentPage - 1), m_intPageSize);

cadena m_strPageInfo = "lt;pgt;lt ;/pgt;";

for (int i = 1; i lt; = m_intTotalPage; i )

{

if (i ==

m_intCurrentPage)

m_strPageInfo = "lt; bgt;" i "lt; /bgt; |"

else

m_strPageInfo = "lt; a href= viewArticle.aspx?pages=" i "gt;" i "lt;/agt |";

}

//Salida para mostrar un número de página única

this.labPageNumber.Text = m_strPageInfo

}

return m_strRet

}

Finalmente, llame al método anterior en el evento de carga de la página:

protected void Page_Load(object sender, EventArgs e)

{

if (!Page . IsPostBack)

{

cadena m_strContent = OutputArticle();

this.labContent.Text = OutputBySize(m_strContent);

}El código de la página es el siguiente:

lt;@ Page Language="C#" AutoEventWireup="true" CodeFile="ViewArticle.aspx.cs" Inherits="ViewArticle" gt;

..lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional. dtd"gt;

lt; html xmlns="http://www.w3.org/1999/xhtml" gt;

lt; head runat="servidor"gt;

lt;titlegt;Página sin títulolt;/titlegt;

lt;/headgt;

lt;bodygt;

lt;form id="form1" runat ="servidor"gt;

lt;divgt;

lt;asp:Label ID="labContent" runat="servidor"gt;lt;/ asp:Labelgt;

p>

lt;br /gt;

lt;br /gt;

lt;asp: Etiqueta ID="labPageNumber" runat ="servidor"gt;lt; /asp: Labelgt;

lt; asp: Etiqueta ID="labPageNumber" runat="servidor"gt; /p>

lt; /formgt;

lt;/bodygt;

lt;/htmlgt;