我在ASP.NET中使用GridView并以编程方式构建它。但是,当我去排序时,我收到一个错误,因为事件没有得到正确处理。
我在很长一段时间内都没有使用过ASP.NET GridViews,并且在这个问题上非常生疏。
这是我到目前为止的代码:
Public Sub GetData()
Using sqlConn As New SqlConnection(_connstr)
Dim sqlcmd As New SqlCommand()
sqlcmd.Connection = sqlConn
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "dbo.uspGetEmailAudit"
sqlcmd.Parameters.Add(requestIdParam)
Using sqlda As New SqlDataAdapter(sqlcmd)
sqlda.Fill(_dt)
End Using
End Using
BindData(_dt)
End Sub
Private Sub BindData(dt As DataTable)
GridView1.DataSource = _dt
GridView1.AllowSorting = True
GridView1.AllowPaging = True
GridView1.PageSize = 15
GridView1.DataBind()
End Sub
Protected Sub sorting(sender As Object, e As GridViewSortEventArgs)
ViewState("sortexp") = e.SortExpression
GridView1.DataSource = GetData()
GridView1.DataBind()
End Sub
我得到的错误是:
GridView' GridView1'已解决的事件已排除但尚未处理。
答案 0 :(得分:0)
在GridView标记中,告诉它使用您的子标题:
<asp:GridView runat="server" OnSorting="sorting" id="GridView1" />
你必须把它连接起来,它不会为你做。
如果你在代码中创建GridView,你需要做相当于这个C#代码的VB.NET(对不起,我不是一个VB人)
GridView1.OnSorting += sorted;
答案 1 :(得分:0)
在Form_Load或其他地方,您需要连接OnSorting事件。
示例如下:
https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.sorting(v=vs.110).aspx