我有一个 Telerik RadGrid,它包含三个列,其中包含 OrderNo、SendToAddress 和 ResendLink 的 UniqueName。
我想要一个超链接列,在单击时调用 JavaScript 函数,将超链接所在行的值作为参数传递给函数。
以下代码有效,但仅在页面上一次。后续刷新,方法抛出异常(itemData 为空)。 注意:sSearchResults 是一个 POCO,用作数据传输对象以返回列数据。
Protected Sub dg2_ItemCreated(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles dg2.ItemCreated
If TypeOf e.Item Is GridDataItem Then
' Setup the Resend Link
Dim item As GridDataItem = CType(e.Item, GridDataItem)
Dim itemData As sSearchResults = CType(item.DataItem, sSearchResults)
Dim resendLink As HyperLink = DirectCast(e.Item.FindControl("ResendLink"), HyperLink)
resendLink.Attributes("href") = "javascript:void(0);"
resendLink.Attributes("onclick") = [String].Format("return ShowResendForm('{0}','{1}');",
itemData.OrderNo,
itemData.SendToAddress)
End If
End Sub
如果我将上面的代码移动到网格上的 ItemDataBound 事件并将 EnableViewState 设置为 false,我怀疑上面的代码会可靠地工作。我还没有尝试过,我不想这样做。
使用 RadGrid 获取行数据列字符串以填充另一列的正确方法是什么?