解決GridView使用RenderControl取得HTML出現的問題

解決GridView使用RenderControl取得HTML出現的問題

承接上一篇:在CodeFile中取得控制項將輸出Clinet端的HTML內容

如果想在CodeFile中取得GridView結果的HTML內容,首先會遇到這樣的錯誤訊息:

型別 'GridView' 的控制項 'GridView1' 必須置於有 runat=server 的表單標記之中。

這個問題,可以在您的CodeFile中加入以下這段來解決

    Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
        '處理'GridView' 的控制項 'GridView' 必須置於有 runat=server 的表單標記之中
    End Sub

如果您的GridView沒有設定分頁,應該就可以正常的執行了。但是如果有設定分頁,很快的又遇到了另外一個問題!出現以下的錯誤訊息:

RegisterForEventValidation 只能在 Render(); 期間呼叫

這個問題,可以設定aspx原始檔中<%Page%>的以下兩個設定解決

EnableEventValidation = "false" AutoEventWireup="true"


這樣的應用可以用再需要把資料庫的資料透過EMail寄送給使用者,如果自己組HTML語法是很累人的事情,可以透過這個方式,使用GridView產生HTML然後透過Email寄出

關於如何寄送EMail請參考以下這篇:

ASP.NET 2.0發電子郵件的範例


以下是簽名:


Microsoft MVP
Visual Studio and Development Technologies
(2005~2019/6) 
topcat
Blog:http://www.dotblogs.com.tw/topcat