Merhaba arkadaşlar bugun sizlere sql server database kullanarak yönetim panelinden sayfa eklenebilmek için bir tane sitenin nasıl yapılabileceğinden bahsedeceğim bunu yapabilmek için baya uğraşmıştım o yüzden çok yardımcı olacağını düşünüyorum

İlk başta Add page diye aspx sayfası açıyoruz ve aşağıdaki kodu ekliyoruz

<%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”AddPage.aspx.cs” Inherits=”WebApplication1.AddPage” %>

<!DOCTYPE html>

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head runat=”server”>
    <title></title>
</head>
<body>
    <form id=”form1″ runat=”server”>
        <div>
            <asp:HyperLink ID=”HyperLink1″ NavigateUrl=”~/AddPage.aspx” Text=”Add Page” runat=”server” />
            <hr />
            <asp:Repeater ID=”rptPages” runat=”server”>
                <ItemTemplate>
                    <%# Container.ItemIndex + 1 %>
                    <asp:HyperLink ID=”HyperLink2″ NavigateUrl='<%# Eval(“PageName”, “~/Pages/{0}.aspx”) %>’ Text='<%# Eval(“Title”) %>’
                        runat=”server” />
                </ItemTemplate>
                <SeparatorTemplate>
                    <br />
                </SeparatorTemplate>
            </asp:Repeater>
        </div>
    </form>
</body>
</html>

Şimdi ise bunun backgrouduna geliyoruz ve aşagıdaki kodu yapıştırıyoruz

protected void Submit(object sender, EventArgs e)
{
    string query = “INSERT INTO [Pages] VALUES (@PageName, @Title, @Content)”;
    string conString = ConfigurationManager.ConnectionStrings[“constr”].ConnectionString;
    using (SqlConnection con = new SqlConnection(conString))
    {
        using (SqlCommand cmd = new SqlCommand(query, con))
        {
            cmd.Parameters.AddWithValue(“@PageName”, txtPageName.Text.Replace(” “, “-“));
            cmd.Parameters.AddWithValue(“@Title”, txtTitle.Text);
            cmd.Parameters.AddWithValue(“@Content”, txtContent.Text);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            Response.Redirect(“~/Default.aspx”);
        }
    }
}
Bundan sonra global.asax diye bir asax ekliyoruz (bunun için .net 4.0 ve üzeri bir frameworkunuzun olması gerekir)  ve aşagıdaki kodu ekliyorız
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Routing;
using System.Web.Security;
using System.Web.SessionState;

namespace WebApplication1
{
    public class Global : System.Web.HttpApplication
    {
        void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes(RouteTable.Routes);
        }

        static void RegisterRoutes(RouteCollection routes)
        {
            routes.MapPageRoute(“DynamicPage”, “Pages/{PageName}.aspx”, “~/DynamicPage.aspx”);
        }
    }
}

Sonra ise global.asax ın üzerine gelip sag tıklıyoruz ve View Markup diyoruz ve bunu yapıştırıyoruz
<%@ Application Codebehind=”Global.asax.cs” Inherits=”WebApplication1.Global” Language=”C#” %>
Devamı ikinci ksımda