توضیحات و دانلود

اضافه كردن, به روز رسانی و حذف با استفاده از entity framework بصورت گام به گام در asp.net
1 0
اضافه كردن, به روز رسانی و حذف با استفاده از entity framework بصورت گام به گام در asp.net

در این مقاله روش اضافه كردن, به روز رسانی و حذف با استفاده از entity framework در asp.net بصورت گام به گام با مثال عملی توضیح میدهیم .

در این آموزش ابتدا از طریق یك فرم اطلاعات را اضافه میكنیم سپس آنها را در یك جدول نمایش میدهیم و بعد با استفاده از دكمه حذف و ویرایش اطلاعات را به روز رسانی میكنیم با استفاده از entity framework.

ما با ایجاد جدول پایگاه داده شروع خواهیم كرد. در اینجا من جدولی با نام «Student» ایجاد كردم.

CREATE TABLE [dbo].[Student](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NULL,
    [Age] [int] NULL,
    [Email] [nvarchar](50) NULL,
 CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, 
ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

از طریق entity framework به بانك وصل شوید.

كد html

در ابتدای كد html فرم ذخیره اطلاعات را بصورت زیر طراحی میكنیم كه فرم شامل سه عدد TexBox برای ورد اطلاعات و دو Button برای ذخیره و ویرایش اطلاعات میباشد.

<table class="form-group" style="width400pxline-height3margin-left400pxmargin-top100px;">
            <tr>
                <td colspan="2">
                   
                    <asp:Label ForeColor="Green" Font-Size="Large" ID="lblInfoMessage" runat="server"></asp:Label></td>
            </tr>
            <tr>
                
                <td><b>نام</b></td>
                <td>
                    <asp:TextBox runat="server" CssClass="form-control" ID="txtName" /></td>
            </tr>
            <tr>
                <td><b>ایمیل</b></td>
                <td>
                    <asp:TextBox runat="server" CssClass="form-control" ID="txtEmail" /></td>
            </tr>
            <tr>
                <td><b>سن</b></td>
                <td>
                    <asp:TextBox runat="server" CssClass="form-control" ID="txtAge" /></td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td>
                    <asp:Button OnClick="btnSave_Click" CssClass="btn btn-primary" Text="Save" ID="btnSave" runat="server" />
 
                    <asp:Button OnClick="btnUpdate_Click" CssClass="btn btn-success" Text="Update" ID="btnUpdate" runat="server" />
                </td>
            </tr>
        </table>

رویداد دكمه ذخیره

ابتدا یك شی از كلاس اینتی و سپس از جدول Student میسازیم .

سپس دادهای ارسالی را گرفته و در جدول ذخیره میكنیم و  بوسیله Repeater در جدول HTML نمایش میدهیم.

و در نهایت جهت تاییدیه ذخیره در دیتابیس یك پیام به كاربر نمایش میدهیم و با تابع clearFormFields() متن داخل TextBox ها را برا اطلاعات جدید پاك میكنیم.

protected void btnSave_Click(object sender, EventArgs e)
   {
       //---- ساخت یك شی از كلاس اینتیتی
       using (ForTestingEntities context = new ForTestingEntities())
       {
           //--- ساخت یك سی از كلاس Students.
           Student obj = new Student();
 
           //--- اضافه كردن مقادیر.
           obj.Name = txtName.Text;
           obj.Email = txtEmail.Text;
           obj.Age = Convert.ToInt32(txtAge.Text);
 
           //--- ذخیره كردن مقادیر در دیتابیس.
           context.Students.Add(obj);
           context.SaveChanges();
       }
 
       //--- اتصال دادها به Repetear.
       bindStudentInfo();
 
       //--- نمایش پیام تأیید  .
       lblInfoMessage.Text = "اطلاعات با موفقیت ذخیره شد.";
 
       //--- پاك كردن متن از جعبه های متن
       clearFormFields();
       
   }

پاك كردن TextBox ها

public void clearFormFields()
    {
        txtAge.Text = string.Empty;
        txtEmail.Text = string.Empty;
        txtName.Text = string.Empty;
    }

كد html نمایش اطلاعات

<table class="table-striped" style="width400px;margin-left400px;">
            <tr>
                <td><b>ردیف</b></td>
                <td><b>نام</b></td>
                <td><b>ایمیل</b></td>
                <td><b>سن</b></td>
                <td><b>عملیات</b></td>
            </tr>
            <asp:Repeater ID="repStudentInfo" runat="server" OnItemCommand="repStudentInfo_ItemCommand">
                <ItemTemplate>
                    <tr>
                        <td><%#Container.ItemIndex+1%></td>
                        <td><%#Eval("Name") %></td>
                        <td><%#Eval("Email") %></td>
                        <td><%#Eval("Age") %></td>
                        <td>
                            <asp:LinkButton Text="ویرایش" ID="lnkBtnEdit" CommandName="Edit" CommandArgument='<%#Eval("Id") %>' runat="server" />
                            <asp:LinkButton Text="حذف" ID="lnkBtnDelete" CommandName="Delete" CommandArgument='<%#Eval("Id") %>' runat="server" />
                        </td>
                    </tr>
                </ItemTemplate>
            </asp:Repeater>
        </table>

تابع اتصال دادها به Repeater

ابتدا یك شی از كلاس Entiti ایجاد میكنیم

سپس با دستورات Linq اطلاعات را از جدول واكشی میكنیم و با با دستور ToList اعلام میكنیم كه اطلاعات به صورت یك مجموعه در دسترس خواهد بود

و در آخر Repeater را به لیست وصل میكنیم.

public void bindStudentInfo()
   {
       //----Entities ایجاد یك شیء از كلاس .
       using (ForTestingEntities context = new ForTestingEntities())
       {
           repStudentInfo.DataSource = (from r in context.Students select r).ToList();
           repStudentInfo.DataBind();
       }
   }

فرم لود و نمایش اطلاعات

هنگام لود فرم باید اطلاعات نمایش داده شود

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            bindStudentInfo();
        }
    }

رویدا دكمه ویرایش

protected void btnUpdate_Click(object sender, EventArgs e)
    {
        using (ForTestingEntities context = new ForTestingEntities())
        {
            //--- دریافت شناسه ركورد انتخاب شده كه ما آن را در حالت مشاهده در فرایند ویرایش ذخیره كردیم.
            int id = Convert.ToInt32(ViewState["selectedRec"]);
 
            //--- اطلاعات مربوط به ركورد انتخاب شده در شیء دانشجویی را دریافت كنید.
            Student obj = context.Students.FirstOrDefault(r => r.Id == id);
 
            //--- به روز رسانی شی با اطلاعات جدید.
            //--- اضافه كردن مقادیر به شی.
            obj.Name = txtName.Text;
            obj.Email = txtEmail.Text;
            obj.Age = Convert.ToInt32(txtAge.Text);
 
            //--- به روز رسانی مقادیر.
            context.SaveChanges();
 
        }
 
        //--- اتصال اطلاعات به repeater.
        bindStudentInfo();
 
        //--- نمایش موفقیت آمیز بودن ویرایش.
        lblInfoMessage.Text = "اطلاعات با موفقیت ویرایش شد.";
 
        //--- و پاك كردن مقادیر تكست باكسها
        clearFormFields();
    }

رویدا Itemcommand در Repeater

protected void repStudentInfo_ItemCommand(object source, RepeaterCommandEventArgs e)
   {
       //-- شناسه انتخاب شده رابدست آورید.
       int id = Convert.ToInt32(e.CommandArgument);
 
       //--- عملیات حذف
       if (e.CommandName == "Delete")
       {
           using (ForTestingEntities context = new ForTestingEntities())
           {
               //--- اطلاعات مربوط به ركورد انتخاب شده در شیء دانشجویی را دریافت كنید.
               Student obj = context.Students.FirstOrDefault(r => r.Id == id);
 
               //--- حذف ركورد
               context.Students.Remove(obj);
               context.SaveChanges();
 
               //-- باز نشانی اطلاعات در REpeater
               bindStudentInfo();
 
           }
       }
       //--- عملیات ویرایش
       else if (e.CommandName == "Edit")
       {
           //--- گرفتن شناسه ركورد برای ویرایش.
           ViewState["selectedRec"] = id.ToString();
 
           using (ForTestingEntities context = new ForTestingEntities())
           {
               //--- اطلاعات مربوط به ركورد انتخاب شده در شیء دانشجویی را دریافت كنید.
               Student obj = context.Students.FirstOrDefault(r => r.Id == id);
 
               //--- وارد كردن مقادیر به تكست باكسها
               txtAge.Text = obj.Age.ToString();
               txtName.Text = obj.Name;
               txtEmail.Text = obj.Email;
           }
       }
   }


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :