Events 动态创建的LinkButton不触发任何事件
我在Telerik RadGrid上定制组标题,方法是在ItemDataBound事件期间向其中注入链接按钮。该按钮呈现得非常完美,但我无法让它命中任何事件处理程序 以下是创建按钮的代码:Events 动态创建的LinkButton不触发任何事件,events,radgrid,linkbutton,Events,Radgrid,Linkbutton,我在Telerik RadGrid上定制组标题,方法是在ItemDataBound事件期间向其中注入链接按钮。该按钮呈现得非常完美,但我无法让它命中任何事件处理程序 以下是创建按钮的代码: Private Sub rgWorkRequestItemCosts_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgWorkRequestItemCosts.ItemDa
Private Sub rgWorkRequestItemCosts_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgWorkRequestItemCosts.ItemDataBound
If TypeOf e.Item Is GridGroupHeaderItem Then
Dim oItem As GridGroupHeaderItem = DirectCast(e.Item, GridGroupHeaderItem)
Dim lnkAdd As New LinkButton()
lnkAdd.ID = "lnkAdd"
lnkAdd.CommandName = "CustomAddWorkRequestItemCost"
lnkAdd.CommandArgument = DirectCast(oItem.DataItem, DataRowView).Row("nWorkRequestItemID").ToString()
lnkAdd.Text = String.Format("<img style=""border:0px"" alt="""" width=""12"" src=""{0}"" /> Add new cost", ResolveUrl(String.Format("~/App_Themes/{0}/Grid/AddRecord.gif", Page.Theme)))
lnkAdd.Style("color") = "#000000"
lnkAdd.Style("text-decoration") = "none"
AddHandler lnkAdd.Click, AddressOf lnkAdd_Click
Dim tcPlaceholder As GridTableCell = DirectCast(oItem.Controls(1), GridTableCell)
Dim litText As New LiteralControl(String.Format(" {0}", tcPlaceholder.Text))
tcPlaceholder.Text = String.Empty
tcPlaceholder.Controls.Add(lnkAdd)
tcPlaceholder.Controls.Add(litText)
End If
End Sub
Private子rgWorkRequestItemCosts\u ItemDataBound(ByVal sender作为对象,ByVal e作为Telerik.Web.UI.GridItemEventArgs)处理rgWorkRequestItemCosts.ItemDataBound
如果e.项的类型为GridGroupHeaderItem,则
作为GridGroupHeaderItem的Dim oItem=DirectCast(例如项,GridGroupHeaderItem)
Dim lnkAdd作为新链接按钮()
lnkAdd.ID=“lnkAdd”
lnkAdd.CommandName=“CustomAddWorkRequestItemCost”
lnkAdd.CommandArgument=DirectCast(oItem.DataItem,DataRowView).Row(“nWorkRequestItemID”).ToString()
lnkAdd.Text=String.Format(“添加新成本”,解析URL(String.Format(“~/App_Themes/{0}/Grid/AddRecord.gif”,Page.Theme)))
lnkAdd.Style(“颜色”)=“000000”
lnkAdd.Style(“文本装饰”)=“无”
AddHandler lnkAdd.单击,lnkAdd的地址单击
Dim tcPlaceholder作为GridTableCell=DirectCast(oItem.Controls(1),GridTableCell)
Dim litText作为新的LiteralControl(String.Format(“{0}”,tcPlaceholder.Text))
tcPlaceholder.Text=String.Empty
tcPlaceholder.Controls.Add(lnkAdd)
tcPlaceholder.Controls.Add(litText)
如果结束
端接头
这段代码显式地为LinkButton添加了一个处理程序,但该处理程序从未被命中。我也尝试过RadGrid上的事件(ItemCommand,ItemEvent),但似乎没有一个被击中
有没有人对其他活动有什么建议可以尝试,或者有什么方法可以让它发挥作用
谢谢 我没能找到一个“好”的解决方案。最后,我做了以下工作:
难看,但它可以工作。您可以单击事件,它可以工作。只需检查列标题并传递行id即可。