מדריך CSHTML

מדריך CSHTML – עבודה עם נתונים: מחיקת מידע מבסיס הנתונים

‏ • John Bryce

בחלק זה נראה כיצד ליצור דף אשר מאפשר למשתמשים למחוק מוצר מתוך טבלת המוצרים.

  1. צור קובץ CSHTML חדש בשם DeleteProducts.cshtml.
  2. החלף את קוד ה-HTML הקיים בקוד הבא:
    @{
        var db = Database.OpenFile("SmallBakery.sdf");    
        var selectQueryString = "SELECT * FROM Products ORDER BY Name";
    
        var ProductId = UrlData[0];
        
        if (!ProductId.IsEmpty()) 
        {
            var deleteQueryString = "DELETE FROM Products WHERE Id=@0";
            db.Execute(deleteQueryString, ProductId);   
        }
    }
    
    <!DOCTYPE html>
    <html>
    <head>
        <title>Delete Products</title>   
    </head>
    
    <body>
        <h1>Delete Products</h1>
       
        @Html.ValidationSummary("Errors with your submission:")
        
        <form method="post" action="" name="form">
            <table border="1">
                <thead>
                    <tr>
                        <th/>
                        <th>Name</th>
                        <th>Description</th>
                        <th>Price</th>
                    </tr>
                </thead>
                <tbody>
                    @foreach (var row in db.Query(selectQueryString)) 
                    {
                        <tr>
                            <td><a href="@Href("~/DeleteProducts",row.Id)">Delete</a></td>
                            <td>@row.Name</td>
                            <td>@row.Description</td>
                            <td>@row.Price</td>
                        </tr>
                    }
                </tbody>
            </table>
        </form>
    </body>
    </html>
    

    חלק ה- HTML בדף זה מכיל דברים שכבר ראינו בשלבים קודמים בפרק. הוא מציג את רשימת המוצרים בבסיס הנתונים בטבלת HTML. עבור כל מוצר נציג קישור לצורך מחיקת המוצר המפנה לדף DeleteProducts (הדף הנוכחי) עם פרמטר של מזהה המוצר למחיקה. כלומר, לדף זה ניתן להגיע בשתי צורות. דו דרך גלישה ישירה לדף DeleteProducts או מתוך פעולת Post לדף זה עם פרמטר של מזהה המוצר למחיקה.

    בלוק הקוד בדף זה מנסה להוציא משורת הכתובת את מזהה הדף. במידה ומזהה המוצר מכיל ערך, מתבצעת פקודת מחיקה של המוצר מבסיס הנתונים ע"י הפעלת פקודת DELETE והעברת מזהה המוצר למחיקה.

    if (!ProductId.IsEmpty()) 
    {
        var deleteQueryString = "DELETE FROM Products WHERE Id=@0";
        db.Execute(deleteQueryString, ProductId);   
    }
    
  3. הרץ את הדף בדפדפן, ולחץ על קישור ה- Delete ליד מוצר כלשהו. המוצר נמחק מבסיס הנתונים ומוצגת רשימת מעודכנת ללא הפריט שנמחק.

    לחץ להגדלה

תגיות: ,

ליאור זמיר

כיום אני ה- Webmaster של תוכנית החדשנות של HPE Software.לפני כן, הייתי מנהל תחום Webmaster ומרצה בכיר בג'ון-ברייס (במשך 9 שנים) בקורסים לפיתוח ותיכנות באמצעות Microsoft .NET, מולטימדיה, בניית אתרי אינטרנט ואינטראנט. פיתוח הדרכה ומתן ייעוץ טכנולוגי.

תגובות בפייסבוק