Phần trước Tôi đã hướng dẫn bạn
tạo lớp Common- lớp dùng chung. Phần này tôi sẽ hướng dẫn bạn cách Xây dựng Form quản trị, vì thời lượng khá lâu nên sẽ tách thành 2 phần để các bạn dễ dàng theo dõi
Xây dựng giao diện bên ngoài cho trang quản trị
Bước 1: Copy một số thư mục trong tệp tin đính kèm vào thư mục Project "WebBanHang" như hình:
Add Reference "AjaxControlToolkit.dll" trong tập tin đính kèm vào Project "WebBanHang"
Bước 2: Viết thủ tục này vào trong câu lệnh truy vấn SQL
CREATE PROC sp_Users_CheckLogin
@UserName varchar(500),
@Password varchar(500)
AS
SELECT * FROM [USERS] WHERE USERNAME=@UserName AND [Password]=@Password
Bước 3:
- Vào class UserController tại Project "MyWeb.Data" thêm hàm này vào
#region[User_CheckLogin]
public int User_CheckLogin(string UserName, string Password)
{
using (SqlCommand cmd = new SqlCommand("sp_Users_CheckLogin", GetConnection()))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@UserName", UserName));
cmd.Parameters.Add(new SqlParameter("@Password", Password));
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count >= 1)
{
return int.Parse(dt.Rows[0]["Role"].ToString());
}
else
{
return -1;
}
}
}
#endregion
- Vào class UserService tại Project "MyWeb.Business" thêm hàm này vào
#region[User_CheckLogin]
public static int User_CheckLogin(string UserName, string Password)
{
return db.User_CheckLogin(UserName, Password);
}
#endregion
Chỉnh public UserController db = new UserController(); thành public static UserController db = new UserController();
* Mỗi lần chỉnh sửa xong class thì ReBuild lại Project nhé.
Vậy là xong trang đăng nhập(login). Bạn view website lên xem giao diện của mình như thế nào nhé.
Khi hoàn thành xong phần Design trang quản trị, mình sẽ hướng dẫn các bạn viết Code theo công cụ sinh code cho nhanh.
Bước 4: Tiếp theo, tạo trang User.aspx bên trong thư mục Admin có sử dụng Master Page là Administrator.Master cũng trong thư mục Admin
<%@ Page Title="" Language="C#" MasterPageFile="~/Admins/Administrator.Master" AutoEventWireup="true"
CodeBehind="User.aspx.cs" Inherits="WebBanHang.Admins.User" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<title>Trang Quản trị - DOTNET GROUP</title>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div class="title">
Quản trị người dùng</div>
<asp:Panel ID="pnShow" runat="server" Width="100%">
<table style="border-collapse: collapse; background-color: #D0DEF0;">
<tr>
<td>
<asp:Button ID="btnThem" runat="server" CssClass="btnthem" Text="Thêm mới" />
</td>
</tr>
</table>
<asp:DataGrid ID="grdUser" runat="server" AllowPaging="true" AutoGenerateColumns="false"
CellPadding="4" ForeColor="#333333" Width="100%" PageSize="10">
<AlternatingItemStyle BorderColor="White" />
<HeaderStyle CssClass="trHeader" />
<Columns>
<asp:BoundColumn DataField="UserName" HeaderText="Tài khoản"></asp:BoundColumn>
<asp:BoundColumn DataField="Name" HeaderText="Tên Người dùng"></asp:BoundColumn>
<asp:BoundColumn DataField="Rule" HeaderText="Quyền"></asp:BoundColumn>
<asp:BoundColumn DataField="Status" HeaderText="Trạng thái"></asp:BoundColumn>
<asp:TemplateColumn>
<HeaderTemplate>
Chức năng</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="lbt1" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"Id") %>'
CommandName="Edit" CssClass="edit" ToolTip="Sửa"></asp:LinkButton>
|
<asp:LinkButton ID="lbt2" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"Id") %>'
CommandName="Delete" CssClass="delete" ToolTip="Xóa" OnClientClick="return confirm(Bạn có chắc chắn muốn xóa không?)"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<EditItemStyle BackColor="#2461BF" />
<HeaderStyle BackColor="#507CD1" Font-Bold="true" ForeColor="White" />
<ItemStyle BackColor="#EFE3F8" />
<PagerStyle BackColor="#F3F8FE" Font-Bold="true" ForeColor="Blue" HorizontalAlign="Center"
Mode="NumericPages" />
<SelectedItemStyle BackColor="#D1D0F1" Font-Bold="true" ForeColor="#333333" />
</asp:DataGrid>
</asp:Panel>
<asp:Panel ID="pnUpdate" runat="server">
<table cellpadding="0" width="100%" style="border-collapse: collapse;" border="1">
<tr>
<td width="150px" class="name_fild_row">
<asp:Label ID="lbldangnhap" Text="Tên đăng nhập" runat="server"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtId" runat="server" Visible="false"></asp:TextBox>
</td>
</tr>
<tr>
<td width="150px" class="name_fild_row">
<asp:Label ID="Label1" Text="Mật khẩu" runat="server"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtMatKhau" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td width="150px" class="name_fild_row">
<asp:Label ID="Label2" Text="Quyền hạn" runat="server"></asp:Label>
</td>
<td>
<asp:DropDownList ID="cboQuyenHan" runat="server">
<asp:ListItem Value="1">Admin</asp:ListItem>
<asp:ListItem Value="2">User</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td width="150px" class="name_fild_row">
<asp:Label ID="Label3" Text="Trạng thái" runat="server"></asp:Label>
</td>
<td>
<asp:DropDownList ID="cboTrangThai" runat="server">
<asp:ListItem Value="1">Sử dụng</asp:ListItem>
<asp:ListItem Value="0">Cần sử dụng</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td width="150px" class="name_fild_row">
</td>
<td>
<asp:LinkButton ID="lbUpdate" runat="server" CssClass="update">Cập nhật</asp:LinkButton>
<asp:LinkButton ID="lbBack" runat="server" CssClass="back">Trở lại</asp:LinkButton>
</td>
</tr>
</table>
</asp:Panel>
</asp:Content>