Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 控制';GridView1';类型为';GridView';必须放置在runat=server的表单标记中_Vb.net_Gridview_Rendercontrol - Fatal编程技术网

Vb.net 控制';GridView1';类型为';GridView';必须放置在runat=server的表单标记中

Vb.net 控制';GridView1';类型为';GridView';必须放置在runat=server的表单标记中,vb.net,gridview,rendercontrol,Vb.net,Gridview,Rendercontrol,类型为“GridView”的控件“GridView1”必须放置在runat=server的表单标记中 当我将Gridview导出到Excel时,会出现如下错误。你能帮我吗 我的代码示例如下 Dim SqlQuery As String = "SELECT * FROM vBasketbollTournamet ORDER BY 1 ASC" Dim cmd1 As New SqlCommand(SqlQuery, conn) Dim adp1 As New SqlDataAdapter(

类型为“GridView”的控件“GridView1”必须放置在runat=server的表单标记中

当我将Gridview导出到Excel时,会出现如下错误。你能帮我吗

我的代码示例如下

 Dim SqlQuery As String = "SELECT * FROM vBasketbollTournamet ORDER BY 1 ASC"

 Dim cmd1 As New SqlCommand(SqlQuery, conn)
 Dim adp1 As New SqlDataAdapter(cmd1)
 adp1.Fill(dt2)

 GridView1.DataSource = dt2
 GridView1.DataBind()


 Dim oStringWriter As New StringWriter()
 Dim oHtmlTextWriter As New HtmlTextWriter(oStringWriter)

 GridView1.GridLines = GridLines.Horizontal
 GridView1.HeaderStyle.Font.Bold = True
 GridView1.RenderControl(oHtmlTextWriter)

 Response.Write(oStringWriter.ToString())
 Response.[End]()

我想,你可以用下面的例子

.aspx文件内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
    <br />
    <asp:Button ID="btntoExcel" runat="server" Text="GridView to Excel" onclick="btntoExcel_Click" />
    </form>
</body>
</html>
Imports System.Drawing
Imports System.Data.SqlClient
Imports System.Data
Partial Class _Default
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim adapter As New SqlDataAdapter()
        Dim ds As New DataSet()
        Dim i As Integer = 0
        Dim sql As String = Nothing
        Dim connetionString As String = "Data Source=.;Initial Catalog=pubs;User ID=sa;Password=*****"
        sql = "select * from stores"
        Dim connection As New SqlConnection(connetionString)
        connection.Open()
        Dim command As New SqlCommand(sql, connection)
        adapter.SelectCommand = command
        adapter.Fill(ds)
        adapter.Dispose()
        command.Dispose()
        connection.Close()
        GridView1.DataSource = ds.Tables(0)
        GridView1.DataBind()
    End Sub
    Protected Sub btntoExcel_Click(ByVal sender As Object, ByVal e As EventArgs)
        Response.ClearContent()
        Response.AddHeader("content-disposition", "attachment; filename=gvtoexcel.xls")
        Response.ContentType = "application/excel"
        Dim sw As New System.IO.StringWriter()
        Dim htw As New HtmlTextWriter(sw)
        GridView1.RenderControl(htw)
        Response.Write(sw.ToString())
        Response.[End]()
    End Sub
    Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
        'Tell the compiler that the control is rendered
        'explicitly by overriding the VerifyRenderingInServerForm event.
    End Sub
  End Class

谢谢你的帮助:)