Повторение кода CodeBehind в .NET - PullRequest
0 голосов
/ 09 мая 2011

На моем веб-сайте есть колонка для отображения последних новостей.

Вот код, который я использую в своем файле CB.

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;

    public partial class LearnMore : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            // Define database connection
            SqlConnection conn = new SqlConnection("Server=\\SqlExpress;Database=;Integrated Security=True");
            // Create command
            SqlCommand comm = new SqlCommand("SELECT id, title FROM news", conn);
            // Open connection
            conn.Open();
            // Execute the command
            SqlDataReader reader = comm.ExecuteReader();
            // Read and display the data
            while (reader.Read())
            {
                newsLabel.Text += "<a href='NewsEntry.aspx?ID=" + reader["ID"] + "'>" + reader["Title"] + "</a>" + "<br />";
            }
            // Close the reader and the connection
            reader.Close();
            conn.Close();
        }
    }

Я использую приведенный выше код в каждом файле CodeBehind.

Будет ли больше смысла иметь это в одном месте? И если «ДА!», Как мне это сделать?

Большое спасибо за любую помощь в этом.

1 Ответ

1 голос
/ 09 мая 2011

Да, это имело бы смысл.

Создайте базовую страницу, которая содержит это, и все остальные страницы наследуют от этого.

public partial class BasePage : System.Web.UI.Page
{
  // code that is used in all pages
}

public partial class LearnMore : BasePage
{
  // code for LearnMore
}
...