我在使用Telerik RadControls,在我的代码隐藏中我有以下功能,其中一部分将按钮添加到页脚。ASP.Net在代码隐藏的调用代码隐藏功能的按钮
Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs)
If TypeOf e.Item Is GridDataItem Then
Dim editLink As HyperLink = DirectCast(e.Item.FindControl("EditLink"), HyperLink)
editLink.Attributes("href") = "#"
editLink.Attributes("onclick") = [String].Format("return ShowEditForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("ID"), e.Item.ItemIndex)
End If
''Add buttons to footer of grid
If TypeOf e.Item Is GridFooterItem Then
Dim footerItem As GridFooterItem = e.Item
''Creat Ticket button
Dim btn1 As New Button()
btn1.Text = "Create Ticket"
btn1.Attributes.Add("runat", "server")
btn1.Attributes.Add("OnClick", "btnCreate_Click")
footerItem.Cells(2).Controls.Add(btn1)
''Show All Tickets button
Dim btn2 As New Button()
btn2.Text = "Show All Tickets"
btn2.Attributes.Add("runat", "server")
btn2.Attributes.Add("OnClick", "btnAll_Click")
footerItem.Cells(2).Controls.Add(btn2)
End If
End Sub
随着这个,我有我的代码隐藏以下两个函数,我希望在点击按钮时调用。
Protected Sub btnCreate_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Redirect("itrequest.aspx", False)
End Sub
Protected Sub btnAll_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Redirect("itall_v2.aspx", False)
End Sub
我的问题是这些函数没有在呈现的页面中调用。令我困惑的是,当我在标记中使用相同的属性定义这些按钮时,它们工作正常。我不明白定义标记中的按钮与后面的代码之间有什么区别。为什么这些函数不能从我在后面的代码中定义的按钮中调用?这些工作的按钮以及我为了测试目的而在我的标记中注释过的按钮如下所示。
<%--<asp:Table ID="Table2" runat="server" HorizontalAlign="Left">
<asp:TableRow>
<asp:TableCell>
<br />
<asp:Button ID="Button1" runat="server" Text="Create Ticket" OnClick="btnCreate_Click" />
<asp:Button ID="Button2" runat="server" Text="Show All Tickets" OnClick="btnAll_Click" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>--%>
感谢nandokakimoto和bgs264的帮助。 – kingrichard2005 2010-07-27 15:49:17