or
I'm using RadMenu skin object in DNN.
For page that are level 3, I want to insert them under their level 2 parent as an undordered, bulleted list. (Please see attachment.)
How do I accomplish this dynamically?
I've tried using an itemTemplate, but that doesn't seem to be doing anything. Perhaps, I'm going about this the wrong way. Any immediate insight would be appreciated.
protected
void
Page_Load(
object
sender, EventArgs e)
{
UnorderedListTemplate template =
new
UnorderedListTemplate();
RadMenu menu = dnnMenu.FindControl(
"RadMenu1"
)
as
RadMenu;
foreach
(RadMenuItem item
in
menu.Items)
template.InstantiateIn(item);
}
class
UnorderedListTemplate : ITemplate
{
public
void
InstantiateIn(Control container)
{
RadSiteMap rsMap =
new
RadSiteMap();
rsMap.ID =
"radSiteMap"
;
rsMap.DataBinding +=
new
EventHandler(MenuItem_DataBinding);
container.Controls.Add(rsMap);
}
private
void
MenuItem_DataBinding(
object
sender, EventArgs e)
{
RadSiteMap target = (RadSiteMap)sender;
RadMenuItem item = (RadMenuItem)target.BindingContainer;
target.DataSource = (RadMenuItemCollection)DataBinder.Eval(item,
"Items"
);
}
}
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="testcontrol.aspx.vb" Inherits="mytestproject.testcontrol" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
>Test</
title
>
<
script
type
=
"text/javascript"
src
=
"http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"
></
script
>
<
script
src
=
"Scripts/jquery.elastic.source.js"
type
=
"text/javascript"
></
script
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptBlock
runat
=
"server"
ID
=
"RadScriptBlock1"
>
<
script
type
=
"text/javascript"
>
function OnClientLoad(sender, args) {
var txt1 = '<%=txtExtDesc.ClientID %>';
var txt2 = '<%=txtNotes.ClientID %>';
$('#' + txt1).elastic();
$('#' + txt2).elastic();
}
</
script
>
</
telerik:RadScriptBlock
>
<
telerik:RadScriptManager
CdnSettings-TelerikCdn
=
"Enabled"
EnablePageMethods
=
"true"
ID
=
"RadScriptManager1"
runat
=
"server"
>
</
telerik:RadScriptManager
>
<
div
style
=
"margin-left: 25px; margin-right: 25px; margin-top: 10px; margin-bottom: 10px;width:100%;text-align: center;"
>
<
div
style
=
"width:925px;"
>
<
fieldset
style
=
"margin: 10px 25% 10px 25%; position: relative; width: 50%; padding-bottom: 10px;"
>
<
legend
>Options:</
legend
>
<
span
style
=
"text-align: center"
>
<
asp:Button
ID
=
"btnUpdateItem"
runat
=
"server"
CommandName
=
"Update"
CssClass
=
"rgPagerButton"
Text
=
"Update"
CausesValidation
=
"true"
ValidationGroup
=
"basicValidation"
/>
<
asp:Button
ID
=
"btnInsertItem"
runat
=
"server"
CommandName
=
"Insert"
CssClass
=
"rgPagerButton"
Text
=
"Insert"
CausesValidation
=
"true"
ValidationGroup
=
"basicValidation"
/>
</
span
>
</
fieldset
>
<
div
style
=
"width: 100%; vertical-align: middle; text-align: left"
>
<
asp:ValidationSummary
runat
=
"server"
ID
=
"validationSummary"
ShowMessageBox
=
"True"
ValidationGroup
=
"basicValidation"
/>
</
div
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1"
runat
=
"server"
Width
=
"100%"
>
<
telerik:RadPanelBar
ID
=
"RadPanelBar1"
runat
=
"server"
Width
=
"100%"
Skin
=
"Web20"
OnClientLoad
=
"OnClientLoad"
>
<
Items
>
<
telerik:RadPanelItem
runat
=
"server"
Selected
=
"True"
Expanded
=
"True"
Text
=
" .- Basic Information"
ToolTip
=
"Basic information about the item"
>
<
Items
>
<
telerik:RadPanelItem
Value
=
"basicInfo"
runat
=
"server"
>
<
ContentTemplate
>
<
div
class
=
"text"
style
=
"background-color: #edf9fe; padding-left: 50px;"
>
<
ul
class
=
"formList"
id
=
"basicInfo"
>
<
li
>
Some controls
</
li
>
<
li
class
=
"lastListItem"
>
Some controls
</
li
>
</
ul
>
</
div
>
</
ContentTemplate
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelItem
>
<
telerik:RadPanelItem
runat
=
"server"
Selected
=
"false"
Expanded
=
"false"
Text
=
" .- Other Details"
ToolTip
=
"Other details about the item"
>
<
Items
>
<
telerik:RadPanelItem
Value
=
"otherdetInfo"
runat
=
"server"
>
<
ContentTemplate
>
<
div
class
=
"text"
style
=
"background-color: #edf9fe; padding-left: 50px;"
>
<
ul
class
=
"formList"
id
=
"otherdetInfo"
>
<
li
>
<
asp:Label
CssClass
=
"labelField"
runat
=
"server"
ID
=
"lblExtDesc"
AssociatedControlID
=
"txtExtDesc"
>Inside doesn't work:</
asp:Label
>
<
asp:TextBox
ID
=
"txtExtDesc"
runat
=
"server"
Rows
=
"3"
Columns
=
"50"
MaxLength
=
"4999"
TextMode
=
"MultiLine"
Text
=
""
></
asp:TextBox
>
</
li
>
</
ul
>
</
div
>
</
ContentTemplate
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelItem
>
</
Items
>
</
telerik:RadPanelBar
>
<
asp:Label
CssClass
=
"labelField"
runat
=
"server"
ID
=
"lblIntNote"
AssociatedControlID
=
"txtNotes"
>This one works:</
asp:Label
>
<
asp:TextBox
ID
=
"txtNotes"
runat
=
"server"
Rows
=
"3"
Columns
=
"50"
MaxLength
=
"255"
TextMode
=
"MultiLine"
Text
=
""
></
asp:TextBox
>
</
telerik:RadAjaxPanel
>
</
div
>
</
div
>
</
form
>
</
body
>
</
html
>
<
telerik:radgrid
ID
=
"RadGrid2"
DataSourceID
=
"SqlDataSource1"
AllowMultiRowSelection
=
"true"
runat
=
"server"
AllowSorting
=
"True"
GridLines
=
"None"
onneeddatasource
=
"RadGrid2_NeedDataSource"
OnItemCreated
=
"RadGrid1_ItemCreated"
EnablePostBackOnRowClickproperty
=
"true"
OnItemCommand
=
"RadGrid1_ItemCommand"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridClientSelectColumn
UniqueName
=
"ClientSelectColumn"
/>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
EnableRowHoverStyle
=
"true"
>
<
Selecting
AllowRowSelect
=
"True"
/>
</
ClientSettings
>
</
telerik:radgrid
>
EnablePostBackOnRowClickproperty
="True"
But then also postback is not happening on row click .