In Contect2(see this control in code below) I fill a TreeView with some nodes. So when event SelectedNodeChanged occurs in TreeView I fill some data in Content3(see Content3 in code below). As it is now a full postback occurs with flickering.
I have added these
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></ajaxToolkit:ToolkitScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
and the end tag for these in Content3 in the code below.
When I do this I get runtime error for this page saying"Could not find a control with ID TreeView1 for the trigger in UpdatePanel UpdatePanel1"
So my trigger looks like this
<Triggers>
<asp:AsyncPostBackTrigger EventName="SelectedNodeChanged" ControlID="TreeView1" />
</Triggers>
I just wonder what is the best solution if I want to use Ajax for Content3 when event SelectedNodeChanged occurs for control TreeView1
//Tony
Here is the complete aspx page
=====================
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeBehind="BuyFlowers.aspx.cs" Inherits="Assignment_3.BuyFlowers" %>
<asp:Content ID="Content2" ContentPlaceHolderID="LeftColumnContent" Runat="Server">
<span class="sidebarTitle">Category</span> <br />
<asp:TreeView ID="TreeView1" runat="server" NodeIndent="10" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
</asp:TreeView>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="RightColumnContent" runat="server">
<p>Notera: Du måste vara inloggad för att kunna slutföra ordern. En ny order skapas genom att sätta 0 i antal </p>
<asp:GridView runat="server" ID="GridViewKorg" AutoGenerateColumns="False" Caption="Foo"
DataKeyNames="Id"
BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
CellPadding="3"
AutoGenerateSelectButton ="true"
GridLines="Horizontal" OnSelectedIndexChanged="GridViewKorg_SelectedIndexChanged">
<AlternatingRowStyle BackColor="#F7F7F7" />
<Columns>
<asp:BoundField DataField="Id" HeaderText="ID" InsertVisible="False" ReadOnly="True" />
<asp:BoundField DataField="Namn" HeaderText="Namn" ReadOnly="True" />
<asp:BoundField DataField="Pris" HeaderText="Pris" ReadOnly="True" />
<asp:BoundField DataField="Antal" HeaderText="Ant">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
</Columns>
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
<SortedAscendingCellStyle BackColor="#F4F4FD" />
<SortedAscendingHeaderStyle BackColor="#5A4C9D" />
<SortedDescendingCellStyle BackColor="#D8D8F0" />
<SortedDescendingHeaderStyle BackColor="#3E3277" />
</asp:GridView>
<br />
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="100%"
AutoGenerateRows="False" BackColor="White" BorderColor="#E7E7FF" Caption="Change order row"
BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="Id" Font-Size="16px" Font-Bold="True"
GridLines="Horizontal" AutoGenerateEditButton="True" OnItemUpdating="DetailsView1_ItemUpdating" OnModeChanging="DetailsView1_ModeChanging">
<AlternatingRowStyle BackColor="#F7F7F7" />
<EditRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
<Fields>
<asp:BoundField DataField="Id" HeaderText="ID" ReadOnly="True" />
<asp:TemplateField HeaderText="Antal">
<EditItemTemplate>
<asp:TextBox ID="txtAntal" Width="40px" runat="server" Text='<%# Bind("Antal") %>' />
<asp:RangeValidator id="Range1"
ControlToValidate="txtAntal"
MinimumValue="0"
MaximumValue="2147483647"
Type="Integer"
Text="Bara heltal"
runat="server"/>
</EditItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolderMain" runat="server">
<link href="Styles/StyleSheet.css" rel="stylesheet" />
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></ajaxToolkit:ToolkitScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div>
<h1 class="center">Översikt</h1>
<asp:Label ID="info" runat="server" CssClass="info">
Till vänster har du några olika kategorier av blommor.
Vi vänder oss speciellt till er som älskar rosor.
Under varje kategori av rosor finns varje unik sort.
När du klickar på en ros sort får du special information om denna ros samt hur många som finns i lager.
Efter varje ros sort kan du se antal som finns i lager som t.ex [10] som anger att 10 st finns i lager
</asp:Label>
<asp:Label ID="lblnamn" CssClass="namn" runat="server" />
<br />
<asp:Image ID="Image1" runat="server" AlternateText="Bild på en blomma" />
<asp:Label ID="beskrivning" runat="server" />
<br /><br />
<asp:Panel ID="Panel1" runat="server" Visible="false">
<asp:Label ID="lblId" runat="server" Visible="false" />
<br />
Pris: <asp:Label ID="lblpris" runat="server" />
<br />
Kvantitet i lager: <asp:Label ID="lblkvantitet" runat="server" />
<asp:Button CssClass="btnKop" ID="btnKop" runat="server" Width="100%" Text="Lägg i varukorg" OnClick="btnKop_Click" />
</asp:Panel>
<div class="clear"></div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger EventName="SelectedNodeChanged" ControlID="TreeView1" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
//tony