[Smartform] – Cached กับ การแสดงผลตอน Runtime

สวัสดีคับ วันนี้ได้รับคำถามมาว่าเวลาตอนทำงานบน Design time ก็แสดงถูกต้องนะ แต่พอตอน Runtime กับไม่เหมือน ไม่เหมือนยังไง มาดูกัน

Runtime-wronglayout

เห็นหน้าจอไปแล้ว แน่นอนว่า ไม่มีใครออกแบบหน้าจอแบบนี้แน่นอน ถึงแม้ว่าจะ อินดี้แค่ไหนก็ตาม ก่อนจะไปถึงการแก้ปัญหา เราต้องทราบก่อนว่า ตัว Smartform ที่สร้างขึ้นมีการเก็บ definition เอาไว้ใน database และเพื่อประสิทธิภาพในการแสดงผล ก่อนที่จะนำไปแสดงผลจะมีการ pack ไฟล์ต่างๆ ที่เกี่ยวข้องลงไปในหนึ่งไฟล์ และมีการทำ Cached เอาไว้ แต่ด้วยบุญไม่พาวาสนาไม่ส่ง ทำให้การแพ็คนั้นผิดพลาด (ซึ่งเกิดขึ้นน้อยมากกกกกกกก…) ดังนั้นตอนที่ มันแสดงผลแล้วผิด ทำยังไงมันก็ไม่หายเพราะมัน cached ตัวที่ผิดไว้นั้นเอง

วิธีแก้ไขเบื้องต้น คือ เข้าไปแก้ไข ค่า Forms.CombinedResources.Cache.Enabled จาก True เป็น False ใน file  web.config ทั้งในส่วนของ Runtime และ Designtime พอแสดงผลได้ถูกต้องแล้ว ก็เปลี่ยนค่ากลับ เท่านั้นเอง ก็จะได้หน้าตา form กลับมาแสดผลอย่างถูกต้องแล้วครับ

Runtime-CorrectLayout

หมายเหตุ Leave Application ที่เห็นเป็น Application ที่มากับชุด K2 Application Accelerator สามารถเข้าไปโหลดมาใช้ได้ฟรีครับ

Advertisements

One thought on “[Smartform] – Cached กับ การแสดงผลตอน Runtime

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s