I have a RadListView and within the listview I have an asp.net linkbutton. I want to dynamically set the linkbutton's PostBackUrl. I can achieve this if I find the linkbutton control in the listview's ItemDataBound event. But by doing this when I end up clicking on the linkbutton the listview ItemCommand event is not being fired. I need the itemCommand even to be fired so I can take the datakeyvalue of the item clicked and set it into a session variable to pass to teh postbackurl page of the link button.
<
telerik:RadListView
ID
=
"lstVwWebpageList"
runat
=
"server"
EnableViewState
=
"true"
ItemPlaceholderID
=
"webpageContainer"
AllowPaging
=
"true"
DataKeyNames
=
"id"
Skin
=
"WebBlue"
OnItemDataBound
=
"lstVwWebpageList_ItemDataBound"
OnPageIndexChanged
=
"lstVwWebpageList_PageChange"
Width
=
"607px"
OnItemCommand
=
"lstVwWebpageList_ItemCommand"
>
<
LayoutTemplate
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
>
<
tr
>
<
td
>
<
asp:PlaceHolder
ID
=
"webpageContainer"
runat
=
"server"
/>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadDataPager
ID
=
"Pager"
runat
=
"server"
PagedControlID
=
"lstVwWebpageList"
PageSize
=
"50"
Skin
=
"WebBlue"
>
<
Fields
>
<
telerik:RadDataPagerButtonField
FieldType
=
"FirstPrev"
/>
<
telerik:RadDataPagerButtonField
FieldType
=
"Numeric"
/>
<
telerik:RadDataPagerButtonField
FieldType
=
"NextLast"
/>
</
Fields
>
</
telerik:RadDataPager
>
</
td
>
</
tr
>
</
table
>
</
LayoutTemplate
>
<
ItemTemplate
>
<
fieldset
style
=
"float: left; width: 300px;"
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
>
<
tr
>
<
td
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
>
<
tr
>
<
td
style
=
"width: 25%;"
>
<
b
>Name:</
b
>
</
td
>
<
td
style
=
"width: 75%;"
>
<
asp:Label
ID
=
"lblName"
runat
=
"server"
Text='<%# Eval("name") %>'></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"width: 25%;"
>
<
b
>Page:</
b
>
</
td
>
<
td
style
=
"width: 75%;"
>
<
asp:LinkButton
ID
=
"pagenameLink"
runat
=
"server"
CommandName
=
"LinkClicked"
Text='<%# Eval("pagename") %>'></
asp:LinkButton
>
</
td
>
</
tr
>
</
table
>
</
td
>
</
tr
>
</
table
>
</
fieldset
>
</
ItemTemplate
>
</
telerik:RadListView
>
protected
void
lstVwWebpageList_ItemDataBound(
object
sender, RadListViewItemEventArgs e)
{
LinkButton link = (LinkButton)e.Item.FindControl(
"pagenameLink"
);
Label lblname = (Label)e.Item.FindControl(
"lblName"
);
link.PostBackUrl =
"EditWebpage.aspx?name="
+ lblname.Text +
"&page="
+ link.Text;
//RadListViewDataItem item = (RadListViewDataItem)e.Item;
//Session["linkID"] = item.DataItem;// Convert.ToInt32(item.OwnerListView.DataKeyValues[item.DisplayIndex]["id"]);
}
protected
void
lstVwWebpageList_ItemCommand(
object
sender, RadListViewCommandEventArgs e)
{
if
(e.CommandName ==
"LinkClicked"
)
{
RadListViewDataItem item = (RadListViewDataItem)e.ListViewItem;
Session[
"linkID"
] = item.DataItem;
// Convert.ToInt32(item.OwnerListView.DataKeyValues[item.DisplayIndex]["id"]);
}
}