- New Project MVC Application c#
- Right Click Controllers ->Add->Controller->Student
- Add View
ใส่โค้ดตามตัวอย่าง
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication1.Controllers
{
public class StudentController : Controller
{
//
// GET: /Student/
public ActionResult Index()
{
return View();
}
public String Add()
{
return "Hello from Student-Add";
}
public ActionResult arPartialView()
{
return PartialView("PartialView1");
}
public ActionResult arRedirect()
{
return Redirect("http://www.google.co.th");
}
public ActionResult arRedirectToAction()
{
return RedirectToAction("Index");
}
public ActionResult arJason()
{
//not support cross domain
List<String> a = new List<String>()
{
"a","b","c"
};
return Json(a, JsonRequestBehavior.AllowGet);
}
public ActionResult arContent()
{
// return Content("<script>alert('Hello');</script>", "application/javascript");// content type
return Content("<script>alert('Hello');</script>");
}
public ActionResult arJavaScript()
{
return JavaScript("alert('Hello')");
}
public ActionResult arResultDictToRoute()
{
// ข้าม controller
return RedirectToRoute("default",
new { Controller = "Home", Action = "index" });
}
public ActionResult arFile()
{
return File("C:\\Users\\Public\\Pictures\\Sample Pictures\\Penguins.jpg", "image/jpeg");
}
public String Delete(String StudentID)
{
return "Delete Student white ID=" + StudentID;
//run http://localhost:1048/student/delete?studentid=11&id=5050 //auto parameter from query string
}
//http://localhost:1048/student/update/1
public String Update(Int32 id)// name id only
{
//if get keyid ex. http://localhost:1048/student/update/1
//only 1 parameter
return "Update Student with ID=" + id;
}
//http://localhost:1048/Modify/2012/12345
public String Update2(String Year,String StudentID) {
//return "Update Student: Year=" + Year + ",ID=" + StudentID;
String r1 = "Update Student: Year=" + Year + ",ID=" + StudentID;
String r2 = "Update Student: Year=" + Year;
if (StudentID == null)
{
return r2;
}
else
{
return r1;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace MvcApplication1
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Student",
"student/modify/{year}/{studentid}",
new {studentid=UrlParameter.Optional,//หมายถึงไม่มีก็ได้
// year=UrlParameter.Optional,
Controller="Student",Action="Update2" }
//year is optional ถ้าต้องการให้ Action อยู่บน parameter ให้เพิ่ม "student/{action}/{year}/{studentid}"
//แล้วลบ Action="2" ออก
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
}
ตรง map route สามารถเพิ่มเงื่อนไขในการตรวจสอบค่าที่รับมาได้โดยแก้ไขในไฟล์
routes.MapRoute(
"Student",
"student/modify/{year}/{studentid}",
new
{
studentid = UrlParameter.Optional,//หมายถึงไม่มีก็ได้
// year=UrlParameter.Optional,
Controller = "Student",
Action = "Update2"
},
new { year=@"\d{4}",studentid=@"\d{7}"} //Map Expression decimal number

