เสร็จแล้วมาเพิ่ม HelloWorldController
แก้ไข HelloWorldController
Controllers/HelloWorldController.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using Microsoft.AspNetCore.Mvc; using System.Text.Encodings.Web; namespace MvcMovie.Controllers { public class HelloWorldController : Controller { // // GET: /HelloWorld/ public IActionResult Index() { return View(); } // // GET: /HelloWorld/Welcome/ public IActionResult Welcome(string name, int numTimes = 1) { ViewData["Message"] = "Hello " + name; ViewData["NumTimes"] = numTimes; return View(); } } } |
บรรทัดที่ 10,17 : คืนค่าเป็น IActionResult
คือคืนค่าเป็นหน้าเว็บตาม Template (คือคู่กับไฟล์ Index.cshtml และ Welcome.cshtml)
บรรทัดที่ 19-20 : กำหนดค่าใน Controller และเรียกใช้ค่านี้ที่ View (เป็นการ Passing Data from the Controller to the View)
สร้างโฟลเดอร์ Views/HelloWorld
สร้างไฟล์ Views/HelloWorld/Index.cshtml
Views/HelloWorld/Index.cshtml
1 2 3 4 5 6 7 |
@{ ViewData["Title"] = "Index"; } <h2>Index</h2> <p>Hello from our View Template!</p> |
บรรทัดที่ 2 : กำหนดค่าให้ ViewData["Title"]
เท่ากับ "Index"
โดยค่า ViewData["Title"]
จะถูกเรียกใช้ที่ไฟล์ Views/Shared/_Layout.cshtml
สร้างไฟล์ Views/HelloWorld/Welcome.cshtml
Views/HelloWorld/Welcome.cshtml
1 2 3 4 5 6 7 8 9 10 11 12 |
@{ ViewData["Title"] = "Welcome"; } <h2>Welcome</h2> <ul> @for (int i = 0; i < (int)ViewData["NumTimes"]; i++) { <li>@ViewData["Message"]</li> } </ul> |
บรรทัดที่ 8,10 : นำค่า ViewData["NumTimes"]
และ ViewData["Message"]
ที่ส่งมาจาก Controller มาใช้
เรียกไปที่ https://localhost:5001/HelloWorld
เรียกไปที่ https://localhost:5001/HelloWorld/Welcome?name=Jack&numtimes=4
Link