معماری سه لایه در ASP.Net
یکشنبه 4 مرداد 1394در این مقاله می خواهیم به آموزش مختصری در مورد معماری سه لایه در 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 را فراخوانی کردیم، اضافه کنید.
- ASP.net
- 4k بازدید
- 8 تشکر