CoP Prince of Songkla University Phuket Campus's Blog

Tag: visual studio

ASP.NET MVC: การ Request ผ่าน FormMethod แบบ PUT และ Delete

หลักการทำงานของ RESTful โดยทั่วไปจะกล่าวว่า Client สามารถทำการร้องขอ (Request) ข้อมูลหรือประมวลผลต่างๆ ผ่าน HTTP verbs/method โดยมีหลักการมาตรฐานในการใช้งานดังนี้ GET สำหรับการร้องขอข้อมูล POST สำหรับสร้างหรือเพิ่มข้อมูลใหม่ PUT สำหรับแก้ไขข้อมูล และ DELETE สำหรับการลบข้อมูล แต่การใช้งาน Form ใน asp.net MVC แบบปรกติจะสามารถ Request ได้เพียง Get และ Post เท่านั้น ดังรูปตัวอย่าง นั่นคือ Function ที่เตรียมไว้ใน Controller ต้องรับคำสั่งที่เป็น Get หรือ Post และไม่เป็นไปตามหลักของ RESTful   เมื่อทำการค้นหาข้อมูลพบว่าใน ASP.NET MVC นั้น Client สามารถส่ง Request แบบ PUT หรือ DELETE […]

ASP.NET WebAPI2: การเพิ่มคำอธิบายฟังก์ชั่น API ใน Help Page

หลังจากที่ผมได้มีโอกาสพัฒนางานด้วย ASP.NET MVC Web API บน Visual Studio 2015 พบว่า เครื่องมือช่วยสร้าง Help Page โดยอัตโนมัติจากฟังก์ชั่นที่ได้เตรียมไว้ใน ApiController สำหรับให้ข้อมูลว่า Project นี้มี API ใดให้บริการบ้าง มีวิธีการเรียกใช้ และ มีรูปแบบของผลลัพธ์ เป็นอย่างไร แต่สิ่งที่หายไปคือ คำอธิบาย API (Description) นั่นเอง ดูภาพประกอบที่ 1 เพื่อให้หน้า Help Page แสดงข้อมูลได้ครบถ้วน ผู้พัฒนาต้องตั้งค่า และ ดำเนินงานต่างๆ นี้ ขั้นที่ 1 กำหนด Property ของ Project คลิกขวาที่ Project เลือก Properties เลือกแถบ Build ที่ส่วน Output คลิกเลือก XML […]

APS.NET MVC: @Html.DisplayNameFor(x => x.Name) [แตกประเด็น p2376]

บันทึกนี้ผมแตกประเด็นมาจากบันทึก ASP.NET MVC ว่าด้วยเรื่อง Model แต่เนื้อหาไม่ได้ต่อเนื่องกัน ผมหยิบเอาคำสั่งหน้าตาประหลาดๆ มากเพื่อศึกษาและบันทึกความเข้าใจไว้ นั่นคือ คำสั่งในลักษณะนี้ @Html.DisplayNameFor(x=> x.Name) โครงสร้างคำสั่งแบบนี้จะพบมากขึ้นในโค้ดฝั่ง Microsoft ซึ่งผมเองเคยผ่านการใช้งานโค้ดแบบนี้มาบ้าง เคยถามจากผู้รู้มาบ้าง แต่พอนานวันก็ลืมความหมายไป จึงถือโอกาสทบทวนและบันทึกเป็น km เก็บไว้ว่า   เมื่อเอาเมาส์ไปวางเหนือคำสั่ง DisplayNameFor เราจะได้คำอธิบายการใช้มายืดยาว หากไม่คุ้นเคยการใช้งานแบบนี้อาจทำให้งงว่ามันใช้ยังไง คำอธิบายที่แสดงมานั่นคืออะไรบ้าง (MSDN: DisplayNameFor) DisplayNameFor มีหน้าที่แสดงชื่อหรือคำอธิบายของ Model หรือ MvcHtmlString โดยจะใช้ชื่อของ Model หรือชื่อที่ประกาศใน Data Annotation [Display(Name=”label name”)] DisplayNameFor เป็น Extension Method (ฟังก์ชั่นที่ถูกสร้างเพิ่มเติม) ของ Class HtmlHelper ซึ่งในภาพคือ @Html DisplayNameFor มีลักษณะเป็น Generic Method DisplayNameFor<TModel, TValue> TModel และ TValue (หรือชื่ออื่น) ที่อยู่ภายในเครื่องหมาย < > […]

ASP.NET MVC: ว่าด้วยเรื่อง Model

< ก่อนหน้า: เรื่อง ASP.NET MVC  ในบันทึกฉบับก่อนเป็นการอธิบายถึง MVC และสร้างตัวอย่าง Project แบบ ASP.NET MVC ที่แสดงให้เห็นการทำงานในส่วน Routing, Controller และ View ยังไม่มีการนำ Model มาใช้งานร่วมด้วย บันทึกนี้จึงเก็บข้อมูลเกี่ยวกับ Model เป็นหลัก จากเอกสารในเว็บของ Microsoft เรื่อง Getting Stated with ASP.NET MVC5 หัวข้อ Adding a View หัวข้อย่อย Passing Data from the Controller to the View  อธิบายว่าการส่งข้อมูลจาก Controller ไปยัง View ทำได้ 2 วิธี คือ (1) ViewBag และ (2) ViewModel […]

ASP.NET MVC: เริ่มต้น

สำหรับนักพัฒนาซอฟต์แวร์น่าจะผ่านตาคำว่า MVC มากันสักพักใหญ่แล้ว ผมเองก็เช่นกัน แต่ยังไม่ได้เริ่มศึกษาจริงจังเสียที แถมช่วงที่ดูแลงานจ้างพัฒนา ทางผู้พัฒนาก็ใช้คอนเซ็ปนี้ผ่าน PHP Framework ที่ชื่อ Laravel และ Codeigniter ส่วนตัวผมเองใช้แต่เครื่องมือของ Microsoft (Visual Studio) ซึ่งรองรับ MVC เช่นกัน จะมีโอกาสได้นำไปใช้พัฒนาจริงหรือเปล่ายังไม่รู้ แต่ก็ขอศึกษาและบันทึกความเข้าใจไว้ก่อน ต่อไปอาจมีความรู้อะไรใหม่ๆ มาต่อยอดจาก MVC อีก จะได้ไม่ตกขบวนจนเกินไปนัก 😆 MVC คืออะไร MVC ย่อมาจากคำว่า Model-View-Controller เป็นหลักการออกแบบ (Design Pattern) แบบหนึ่งที่กำหนดมาตรฐานของการแยกส่วนของโปรแกรมออกเป็น 3 ส่วนหลัก คือ Model, View และ Controller M-Model คือ ส่วนของข้อมูล มีหน้าที่จัดหาข้อมูล ตรวจสอบความถูกต้องของข้อมูล สถานะการเปลี่ยนแปลงของข้อมูล รวมถึง การบันทึกข้อมูลด้วย V-View คือ ส่วนที่แสดงผลและโต้ตอบกับผู้ใช้ (User Interface) […]

วิธีการถอด Visual Studio Project ออกจาก TFS และย้ายไปยัง GitHub

สำหรับทีมงานที่เคยจัดเก็บไฟล์โครงการของ Visual Studio ไว้ที่ TFS (Team Foundation Server) แล้วมีเหตุผลใดก็แล้วแต่ที่ต้องการยกเลิกการเชื่อมต่อ หรือต้องการย้ายงานไปยัง GitHub ผมได้บันทึกวิธีการทำดังนี้ ถอดโครงการออกจาก TFS เปิด Solution ที่ต้องการถอดออกจาก TFS ไปที่ File > Source Control > Advanced > Change Source control… เลือกรายการ Solution/Project กด Unbind (ทีละรายการ) หลักจากขั้นตอนนี้ คุณสามารถย้าย Solution/Project ไป Binding กับ TFS ในตำแหน่งอื่นได้ เมื่อคุณคลิกขวาที่ Solution แล้วเลือกคำสั่ง Add Solution to Source Control เว้นแต่คุณต้องการเปลี่ยนไปยังใช้ Source Control ตัวอื่นที่ Visual Studio […]

Get your source code from Git repository to Visual Studio 2015 (VS 2015)

การสร้างโปรเจ็คใน VS 2015 โดยการ copy source cord มาจาก Git repossitory เราจะต้องติดตั้ง GitHub Extension for Visual Studio ก่อน ซึ่งสามารถดาวน์โหลดได้จาก https://visualstudio.github.com/ เมื่อติดตั้งเสร็จแล้ว เปิด VS 2015 ขึ้นมาแล้วไปที่ Project and My Teams เลือก Manage Connection ดังรูปที่ 1   รูปที่ 1 จากนั้นเลือก Connect เลือก Team Services account และเลือก  Project ที่เราต้องการ Clone แล้วเลือกที่ Connect เมื่อได้แล้วให้คลิ๊กขวาที่ Project แล้วเลือก Clone จากนั้นเลือก local folder ที่เราต้องการเก็บ […]