מדריך ASP.NET MVC

מדריך ASP.NET MVC – תצוגת יצירה

‏ • Hi Tech

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

להורדת הקוד של הפרק הקודם לחץ כאן

ההבדל המרכזי בין תצוגת פרטים לתצוגת יצירה הוא השימוש בתגיות input המאפשרות למשתמש להקליד נתונים. להבדיל מתצוגת הפרטים אותה בנינו באופן ידני, עבור תצוגת היצירה אנו נשתמש ביכולות ה-Scaffolding של Visual Web Developer אשר יודע לייצר באופן אוטומטי את ה-CSHTML בהתאם לתכונות של אובייקט המודל.

להוספת תצוגה חדשה יש לבצע את הפעולות הבאות:

פתח את הקובץ GroupController.cs והוסף Action חדש בשם Create:

public ActionResult Create()
{
  return View();
}

עמוד על הפונקציה New ולחץ מקש ימני בעכבר. בחר Add View …

בחר את האפשרויות המסומנות מטה באדום ולחץ על Add:

Untitled

שים לב לבחירה של “Scaffold template”. אפשרות זאת תבנה את התצוגה באופן אוטומטי על סמך התכונות של המחלקה Group

הקוד המתקבל נראה כך:

@model AddressBook.Models.Group

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>


@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Group</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.Name)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Name)
            @Html.ValidationMessageFor(model => model.Name)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div
>

הקוד מכיל את החלקים הבאים:

  • Html.BeginForm – קוד זה מייצר HTML Form כך שהוא מבצע Submit ל-Controller ול-Action המתאימים
  • Html.LabelFor – כותב לתוך ה-HTML את השם של ה-Property אליו הוא מחובר. במקרה שלנו מדובר בטקסט "Name"
  • Html.EditorFor – כותב לתוך ה-HTML תגית HTML מסוג input ומאתחל אותה בערך הנוכחי של ה-Name
  • “input type = “submit – כפתור Submit אשר לחיצה עליו תגרום ל-Browser לשלוח את הנתונים לשרת

בשלב זה ניתן להריץ את ה-Action החדש ללא שינוי בקוד

image

על מנת להריץ את ה-Action החדש יש לפנות ל-URL המתאים: http://localhost:1880/Group/Create

לחיצה על מקש ה-Create תגרום ל-Browser לשלוח את הנתונים בחזרה לשרת לאותו URL ממנו הגענו. מאחר ועדיין לא כתבנו קוד בצד השרת שמטפל בנתונים, התצוגה שמוחזרת ל-Browser הינה אותה תצוגה כמו בבקשה הראשונה.

על מנת שלא נצטרך לרשום את ה-URL כל פעם מחדש נוסיף לינק לתצוגה הראשית. פתח את הקובץ Views\Group\Index.cshtml והוסף את הקוד הבא:

<div class="menu">
    @Html.ActionLink("Add New Group", "Create")
</div
>

לאחר העדכון התצוגה נראית כך:

image

לחיצה על הלינק "Add New Group" תוביל לתצוגת היצירה של קבוצה חדשה. כאמור, עדיין לא טפלנו בצד השרת עבור המקרה בו המשתמש לוחץ על כפתור ה-Create. זאת נעשה בפרק הבא.

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

תגיות: , , , ,

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

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!