معماری سه لایه در ASP.Net

یکشنبه 4 مرداد 1394

در این مقاله می خواهیم به آموزش مختصری در مورد معماری سه لایه در Asp.Net بپردازیم.

معماری سه لایه در ASP.Net

Visual Studio را باز کرده و یک پروژه ASP.NET Web Application  ایجاد کنید. سپس در قسمت Solution راست کلیک کرده و یک New Project اضافه کنید. نام آن را DAL بگذارید.  بعد ازاین کلاس را اضافه کنید و کدهای زیر را در آن اضافه کنید.

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Data.SqlClient;  
using System.Data;  
using System.Configuration;  
  
namespace DAL  
{  
   public class Class1  
   {  
      SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());  
      SqlCommand cmd;  
      DataTable dt;  
  
      public DataTable Person(int Id)  
      {  
         using (cmd = new SqlCommand("Three_Tier_Test", con))  
         {  
            try  
            {  
               cmd.CommandType = CommandType.StoredProcedure;  
               cmd.Parameters.AddWithValue("@Id", Id);  
               if(con.State.Equals(ConnectionState.Closed))  
               con.Open();  
               SqlDataAdapter da=new SqlDataAdapter(cmd);  
               dt=new DataTable();  
               da.Fill(dt);  
               return dt;  
  
            }  
            catch(Exception ex)  
            {  
               throw ex;  
            }  
         }  
      }  
   }  
}

ساخت این لایه

دوباره به همان روش، کلاس BAL را ایجاد کرده و کدهای زیر را در آن وارد کنید:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Data;  
  
namespace BAL  
{  
public class Class1  
{  
public DataTable Persons(int Id)  
{  
try  
{  
DAL.Class1 objDAL = new DAL.Class1();  
return objDAL.Person(Id);  
}  
catch (Exception ex)  
{  
throw ex;  
}  
}  
}  
}

حالا یک Web Form ایجاد کنید و یک Button، Gridview، Label و یک Text Box به فرم اضافه کنید.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication10.WebForm1" %>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html  
    xmlns="http://www.w3.org/1999/xhtml">  
    <head runat="server">  
        <title></title>  
    </head>  
    <body>  
        <form id="form1" runat="server">  
            <div>  
                <table>  
                    <tr>  
                        <td>  
                            <asp:Label ID="lblId" runat="server" Text="User Id"></asp:Label>  
                        </td>  
                        <td>  
                            <asp:TextBox ID="txtId" runat="server"></asp:TextBox>  
                        </td>  
                    </tr>  
                    <tr>  
                        <td>  
                            <asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />  
                        </td>  
                    </tr>  
                    <tr>  
                        <td>  
                            <asp:GridView ID="gvDisplay" runat="server" AutoGenerateColumns="true"></asp:GridView>  
                        </td>  
                    </tr>  
                </table>  
            </div>  
        </form>  
    </body>  
</html>

اینها، code behind در صفحه CS هستند. بعد از آن، کدهای زیر را بنویسید:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
  
namespace WebApplication10  
{  
   public partial class WebForm1 : System.Web.UI.Page  
   {  
      protected void Page_Load(object sender, EventArgs e)  
      {  
         if (!Page.IsPostBack)  
         {  
            gvDisplay.Visible = false;  
         }  
      }  
  
      protected void btnSubmit_Click(object sender, EventArgs e)  
      {  
         BAL.Class1 objBal = new BAL.Class1();  
         gvDisplay.DataSource= objBal.Persons(Convert.ToInt32(txtId.Text));  
         gvDisplay.DataBind();  
         gvDisplay.Visible = true;  
      }  
   }  
}

برنامه را اجرا کنید. فراموش نکنید که((reference رفرنسDAL و BAL را در برنامه اضافه کنید. همچنین رفرنس  DAL را در BAL   که در آن متد DLA را فراخوانی کردیم، اضافه کنید.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید