[How to] Create&Use ResourceFile สำหรับ Deploy ต่างไซต์

Coordinator
Feb 14, 2013 at 2:21 AM
แก้ไขปัญหา UI ใช้คำไม่เหมือนกันในแต่ละไซต์
วิธีแก้ ใช้ Local Resource File
วิธีทำ
  1. ในทุก Folder เช่น Forms, Controls, UserControl ถ้าหากมีไฟล์ไหนต้องการใช้ Resource ไฟล์ ให้สร้าง Folder "App_LocalResources"
  2. สร้างไฟล์ชื่อเดียวกับชื่อ UI เช่น AC_ActivityDtls.aspx แล้วเติม .resx เช่น AC_ActivityDtls.aspx.resx
  3. ใน Resource ให้สร้าง Key ที่สื่อกับจุดที่นำไปใช้ เช่น captionFirstName แล้วตามด้วย Properties ที่ต้องการเซต เช่น ถ้าต้องการใช้กับ Label ก็ใช้เป็น captionFirstName.Text แล้วสร้าง Value เป็นค่าที่ต้องการเซตลงไปใน Properties นั้น
  4. ที่หน้า UI ตอนเรียกใช้ก็ให้เซต <asp:Label ID="lblFirstName" meta:resourcekey="captionFirstName" />
  5. ระบบ จะ Bind Value ลง Properties Text ให้อัตโนมัติ
  6. หมายเหตุ เพื่อให้ใช้งานได้หลายไซต์ ทุกครั้งที่ต้องการสร้าง Resource ที่ไซต์ไหนบนหน้าเพจใดๆ ให้สร้าง Folder "App_LocalResources.ชื่อไซต์" ซึ่งโฟล์เดอร์นี้ ระบบจะไม่เรียกใช้ แต่เราสร้างเพื่อให้ไฟล์อัพเดทเข้าระบบ Team Foundation Server - Source Control โดยตอนที่ Deploy จริง ตัวที่ Active คือ "App_LocalResources"
  7. วิธีการ Deploy ก็ให้เอาไฟล์ลง Server ให้เรียบร้อยก่อน แล้วค่อย Copy File.resx ทุกไฟล์ ในโฟล์เดอร์ "App_LocalResources.ชื่อไซต์" ที่เป็นไซต์ที่เราต้องการลงไปใน "App_LocalResources" (ทำผ่าน Explorer)
  8. หมายเหตุ อย่าลืมว่า เราใช้แบบ Local Resource File ดังนั้น ต้องเข้าไปเช็คใน ทุกโฟล์เดอร์ ว่ามี App_LocalResource ที่ต้องอัพเดทเป็นไซต์ที่ต้องการหรือไม่