Home All Groups Group Topic Archive Search About

StaticItemTemplate is not applied on postback Options

Author
30 Oct 2007 1:27 PM
John123
Hi all,

I am having a strange problem when using the ASP.NET (2.0) menu
control.
I have a menu control that gets populated in the page load. I do not
check the PostBack value because I want to rebuild the Menu Control
each page visit.


The first time the Menu is built exactly as specified in the
StaticItemTemplate, however, each pressing the postback button gives
me an un-staticitemtemplated version of the menu.


IOW on postback and rebuild of the menu, the itemtemplate (and thus
styling) is removed or not even applied.


Can anyone help???


Here is the code to reproduce:


<%@ Page Language="C#" %>


<%@ Register Src="UserControls/Menu.ascx" TagName="Menu"
TagPrefix="uc1" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        Menu1.Items.Clear();
        Menu1.Items.Add(new MenuItem("hello world1"));
        Menu1.Items.Add(new MenuItem("hello world2"));
        Menu1.Items.Add(new MenuItem("hello world3"));
        Menu1.Items.Add(new MenuItem("hello world4"));
    }


</script>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Menu ID="Menu1" runat="server">
            <StaticItemTemplate>
                <asp:Button ID="Button1" runat="server" Text='<%#
Eval("Text") %>' />
            </StaticItemTemplate>
        </asp:Menu>
        <asp:Button runat="server" ID="btnButton" Text="Do a postback
to rebuild the menu" />


    </div>
    </form>
</body>
</html>

Author
1 Nov 2007 7:38 AM
John123
On Oct 30, 2:27 pm, John123 <john.gor***@gmail.com> wrote:
Show quote
> Hi all,
>
> I am having a strange problem when using the ASP.NET (2.0) menu
> control.
> I have a menu control that gets populated in the page load. I do not
> check the PostBack value because I want to rebuild the Menu Control
> each page visit.
>
> The first time the Menu is built exactly as specified in the
> StaticItemTemplate, however, each pressing the postback button gives
> me an un-staticitemtemplated version of the menu.
>
> IOW on postback and rebuild of the menu, the itemtemplate (and thus
> styling) is removed or not even applied.
>
> Can anyone help???
>
> Here is the code to reproduce:
>
> <%@ Page Language="C#" %>
>
> <%@ Register Src="UserControls/Menu.ascx" TagName="Menu"
> TagPrefix="uc1" %>
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
> <script runat="server">
>     protected void Page_Load(object sender, EventArgs e)
>     {
>         Menu1.Items.Clear();
>         Menu1.Items.Add(new MenuItem("hello world1"));
>         Menu1.Items.Add(new MenuItem("hello world2"));
>         Menu1.Items.Add(new MenuItem("hello world3"));
>         Menu1.Items.Add(new MenuItem("hello world4"));
>     }
>
> </script>
>
> <html xmlns="http://www.w3.org/1999/xhtml" >
> <head runat="server">
>     <title>Untitled Page</title>
> </head>
> <body>
>     <form id="form1" runat="server">
>     <div>
>         <asp:Menu ID="Menu1" runat="server">
>             <StaticItemTemplate>
>                 <asp:Button ID="Button1" runat="server" Text='<%#
> Eval("Text") %>' />
>             </StaticItemTemplate>
>         </asp:Menu>
>         <asp:Button runat="server" ID="btnButton" Text="Do a postback
> to rebuild the menu" />
>
>     </div>
>     </form>
> </body>
> </html>

noone???

AddThis Social Bookmark Button