台灣最大程式設計社群網站
線上人數
815
 
會員總數:240350
討論主題:186344
歡迎您免費加入會員
討論區列表 >> VB.NET >> 型別 'GridView' 的控制項 'ctl00_ContentPlaceHolder1_Grid
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
型別 'GridView' 的控制項 'ctl00_ContentPlaceHolder1_Grid
價值 : 10 QP  點閱數:83 回應數:3

樓主

小偉
門外漢
0 4
74 13
發送站內信

捐贈 VP 給 小偉
再產生excel時 會出現以下錯誤

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

描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。

例外詳細資訊: System.Web.HttpException: 型別 'GridView' 的控制項 'ctl00_ContentPlaceHolder1_GridView1' 必須置於有 runat=server 的表單標記之中。

原始程式錯誤:


行 413: Dim htmlwrite As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(stringWrite)
行 414:
行 415: GridView1.RenderControl(htmlwrite)
行 416: Response.Write(stringWrite.ToString())
行 417:

以下是我的程式碼

Dim fileName As String = "成交行情查詢"
'-------------------------------------------------------------------------------
fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)
Response.Clear()
Response.Buffer = True
Response.Charset = "Big5"

Response.AppendHeader("Content-Disposition", "attachment;filename=" & fileName & ".xls")
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8")
Response.ContentType = "application/vnd.ms-excel"

Dim stringWrite As System.IO.StringWriter = New System.IO.StringWriter
Dim htmlwrite As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(stringWrite)

GridView1.RenderControl(htmlwrite)
Response.Write(stringWrite.ToString())

Me.EnableViewState = False
Response.End()
'Session("sql") = Nothing
'Session("sql1") = Nothing
'-------------------------------------------------------------------------------




搜尋相關Tags的文章: [ excel ] , [ runat=server ] ,
本篇文章發表於2017-08-04 11:31
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

haoaho
檢舉此回應
檢查一下前端程式碼,ctl00_ContentPlaceHolder1_GridView1要放在 有runat="server"的form裡面


本篇文章回覆於2017-08-04 11:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小魚
檢舉此回應
你是自己改的吧,
如果是系統自己產生的一定會有runat="server"
本篇文章回覆於2017-08-04 12:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

小偉
捐贈 VP 給 小偉 檢舉此回應
後來翻書結果,只要加上此段,就能解決此問題

Public Overloads Overrides Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)
'必須有此方法,否則RenderControl()方法會出錯
End Sub
本篇文章回覆於2017-08-07 11:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.