วันเสาร์ที่ ๓ กรกฎาคม พ.ศ. ๒๕๕๓

แก้ปัญหา Export to Excel ด้วย GridView: Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server.

วันก่อนผมเขียนโปรแกรมเพื่อ export ข้อมูลจาก GridView มาเป็น Excel ครับ (ก่อนหน้านี้ใช้ Datagrid ไม่เคยมีปัญหา) ก็เจอ error ดังนี้ครับ



นั่งงมอยู่ตั้งนาน ก็เลยเจอวิธีแก้ว่าให้เพิ่มโค้ดดังนี้ครับ


Public Overrides Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)
'MyBase.VerifyRenderingInServerForm(control)

End Sub



แค่นี้ก็ใช้งานได้แล้วครับ

แต่ถ้าใครเจอปัญหาว่า "RegisterForEventValidation can only be called during Render();"



ให้เอา AllowSorting กับ AllowPaging ออกครับ

เท่านี้เราก็สามารถใช้ GridView ในการสร้าง Excel ได้แล้วครับ

๓ ความคิดเห็น:

ไม่ระบุชื่อ กล่าวว่า...

ขอบคุณมากครับ พอดีเจอปัญหานี้เหมือนกัน

Unknown กล่าวว่า...

เจอปัญหาที่ว่า export หลายๆฟิลด์ กลับ error network อ่ะค่ะ ERR_CONNECTION_RESET หมายความว่าอย่างไรค่ะ แต่เป็นบาง ฟิลด์ กลับได้ปกติ

Unknown กล่าวว่า...
ความคิดเห็นนี้ถูกผู้เขียนลบ