- PR -

ASP.NETからExcelへの出力でエラー 初心者

1
投稿者投稿内容
KO
会議室デビュー日: 2003/11/18
投稿数: 1
投稿日時: 2003-11-18 00:42
以下のコードエクセルへの出力を書いたのですが、

型 'DataGridLinkButton' のコントロール 'gridStaff__ctl1__ctl2' は、runat=server を含むフォーム タグの内側に置かなければ成りません。

というエラーが出てしまいます。どうすればよいですかな?すいません初心者です。だれか
回答お願いします。

Private Sub ImagebtnExcel_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImagebtnExcel.Click
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
gridStaff.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
End Sub
がつん
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 62
お住まい・勤務地: Sydney
投稿日時: 2003-11-19 09:44
こんにちは、がつんです。
やりたいことがよく分かりませんが、エラーの内容から察するに、
引用:

型 'DataGridLinkButton' のコントロール 'gridStaff__ctl1__ctl2' は、runat=server を含むフォーム タグの内側に置かなければ成りません。


のコントロール'gridStaff__ctl1__ctl2'に問題がありますね。
[/form]の外にコントロールを配置していたりしていませんか?
Excelの出力?は関係ないと思われます。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-19 10:40
 'gridStaff__ctl1__ctl2'という名前から、'gridStaff'という名前のDataGridのセルにつけられる名前、と判断します。それで、いったい何をどう出力しようとしているのか、わからないんですよねぇ...Response.Endが記述されているので、このコードを通っていればDataGridの出力があるはずないのですが。

 もしかして、DataGridで何かイベント処理していて、その中でResponse.Writeを使っていたりしませんか?またはレンダーをコールしていたり。このコードの先頭にResponse.ClearContentを入れれば解決したりして。
マシュー
常連さん
会議室デビュー日: 2002/11/29
投稿数: 39
投稿日時: 2004-09-09 17:09
-----------------------------------------------------------------------------
型 'DataGridLinkButton' のコントロール 'gridStaff__ctl1__ctl2' は、runat=server を含むフォーム タグの内側に置かなければ成りません。
------------------------------------------------------------------------------

DataGridに編集や選択のリンクボタンを配置していると上記のエラーが出る様です。
僕のやった感じだと、DataGrid下部のページングがあっても上記のようなエラーが出ます。

単純にDataGridのデータ羅列にしてあげれば、エクセル出力が可能です。
1

スキルアップ/キャリアアップ(JOB@IT)