مدیریت فرمهای کاربران و نمایش جزئیات آنها در ASP.NET Web Forms میتواند شامل ایجاد فرمهای ورود و ویرایش اطلاعات کاربران و نمایش آنها در یک **GridView** باشد. در اینجا یک راهنمای گام به گام برای پیادهسازی این سیستم ارائه میشود.
### مرحله ۱: ایجاد پایگاه داده
برای ذخیره اطلاعات کاربران به یک پایگاه داده نیاز دارید. در اینجا یک جدول به نام `Users` ایجاد میکنیم:
```sql
CREATE TABLE Users (
UserId INT PRIMARY KEY IDENTITY(1,1),
UserName NVARCHAR(50) NOT NULL,
Email NVARCHAR(100) NOT NULL,
Password NVARCHAR(50) NOT NULL
);
```
### مرحله ۲: ایجاد پروژه ASP.NET Web Forms
1. **ایجاد پروژه جدید**:
- Visual Studio را باز کنید و یک پروژه جدید از نوع **ASP.NET Web Application** بسازید.
- در پنجره بعدی، **Web Forms** را انتخاب کنید و نام پروژه را تعیین کنید.
### مرحله ۳: طراحی مدل کاربر
1. **ایجاد کلاس کاربر**:
- یک کلاس جدید به نام `User.cs` در پوشه **Models** ایجاد کنید و کد زیر را به آن اضافه کنید:
```csharp
public class User
{
public int UserId { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
```
### مرحله ۴: طراحی رابط کاربری
1. **ایجاد صفحه نمایش کاربران**:
- به **Users.aspx** بروید و کد زیر را به آن اضافه کنید:
```aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Users.aspx.cs" Inherits="YourNamespace.Users" %>
مدیریت کاربران
```
2. **ایجاد صفحه ویرایش کاربر**:
- به **EditUser.aspx** بروید و کد زیر را به آن اضافه کنید:
```aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EditUser.aspx.cs" Inherits="YourNamespace.EditUser" %>
ویرایش کاربر
ویرایش کاربر
```
### مرحله ۵: برنامهنویسی در کد پشت
1. **برنامهنویسی برای مدیریت کاربران**:
- به **Users.aspx.cs** بروید و کد زیر را اضافه کنید:
```csharp
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.UI;
public partial class Users : Page
{
private string connectionString = ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadUsers();
}
}
private void LoadUsers()
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
string query = "SELECT * FROM Users";
SqlDataAdapter adapter = new SqlDataAdapter(query, conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
gvUsers.DataSource = dt;
gvUsers.DataBind();
}
}
protected void gvUsers_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvUsers.PageIndex = e.NewPageIndex; // تغییر شماره صفحه
LoadUsers(); // بارگذاری مجدد دادهها
}
protected void gvUsers_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
int userId = Convert.ToInt32(e.CommandArgument);
Response.Redirect($"EditUser.aspx?UserId={userId}");
}
else if (e.CommandName == "Delete")
{
int userId = Convert.ToInt32(e.CommandArgument);
DeleteUser(userId);
}
}
private void DeleteUser(int userId)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
string query = "DELETE FROM Users WHERE UserId = @UserId";
using (SqlCommand cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@UserId", userId);
conn.Open();
cmd.ExecuteNonQuery();
}
}
LoadUsers();
lblStatus.Text = "کاربر با موفقیت حذف شد.";
}
}
```
2. **برنامهنویسی برای ویرایش کاربر**:
- به **EditUser.aspx.cs** بروید و کد زیر را اضافه کنید:
```csharp
using System;
using System.Data.SqlClient;
using System.Configuration;
public partial class EditUser : System.Web.UI.Page
{
private string connectionString = ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int userId = Convert.ToInt32(Request.QueryString["UserId"]);
LoadUserDetails(userId);
}
}
private void LoadUserDetails(int userId)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
string query = "SELECT * FROM Users WHERE UserId = @UserId";
using (SqlCommand cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@UserId", userId);
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
hfUserId.Value = reader["UserId"].ToString();
txtUserName.Text = reader["UserName"].ToString();
txtEmail.Text = reader["Email"].ToString();
// رمز عبور را نمیخوانیم، چون امنیتی نیست
}
}
}
}
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
int userId = Convert.ToInt32(hfUserId.Value);
string userName = txtUserName.Text;
string email = txtEmail.Text;
string password = txtPassword.Text;
using (SqlConnection conn = new SqlConnection(connectionString))
{
string query = "UPDATE Users SET UserName = @UserName, Email = @Email, Password = @Password WHERE UserId = @UserId";
using (SqlCommand cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@UserId", userId);
cmd.Parameters.AddWithValue("@UserName", userName);
cmd.Parameters.AddWithValue("@Email", email);
cmd.Parameters.AddWithValue("@Password", password);
conn.Open();
cmd.ExecuteNonQuery();
lblStatus.Text = "کاربر با موفقیت بهروز شد.";
}
}
}
}
```
### مرحله ۶: تنظیمات پایگاه داده
1. **اضافه کردن رشته
اتصال**:
- در فایل `Web.config`، رشته اتصال به پایگاه داده را اضافه کنید:
```xml
```
### مرحله ۷: تست و اجرا
1. پروژه را اجرا کنید.
2. به صفحه **Users.aspx** بروید و کاربران موجود را مشاهده کنید.
3. میتوانید کاربر جدیدی اضافه کنید (با اضافه کردن دکمه و عملکرد مربوطه)، یا یک کاربر موجود را ویرایش کنید و یا آن را حذف کنید.
### نکات اضافی
- **اعتبارسنجی**: اعتبارسنجیهای لازم برای ورودیها را اضافه کنید.
- **مدیریت نقشها**: میتوانید نقشهای مختلفی برای کاربران تعیین کنید و بر اساس آنها مجوزهای مختلفی را اعمال کنید.
- **ایجاد رابط کاربری بهتر**: با استفاده از CSS و JavaScript میتوانید ظاهر صفحات را بهبود ببخشید.
با پیروی از این مراحل، شما میتوانید یک سیستم مدیریت کاربران و نمایش جزئیات آنها با استفاده از ASP.NET Web Forms ایجاد کنید. اگر سوال دیگری دارید یا به کمک بیشتری نیاز دارید، خوشحال میشوم کمک کنم!
| صفحه قابل مشاهده:
دانلود کد مدیریت فرمهای کاربران و نمایش جزئیات آنها با ASP.NET Web Form میباشد