DotNetNewsgroup.com  
web access to complete list of Microsoft.NET newsgroups
   home   |   control panel login   |   archive  |  
 
  carried group
academic
adonet
aspnet
aspnet.announcements
aspnet.buildingcontrols
aspnet.caching
aspnet.datagridcontrol
aspnet.mobile
aspnet.security
aspnet.webcontrols
aspnet.webservices
assignment_manager
datatools
dotnet.distributed_apps
dotnet.general
dotnet.myservices
dotnet.nternationalization
dotnet.scripting
dotnet.security
dotnet.vjsharp
dotnet.vsa
dotnet.xml
dotnetfaqs
framework
framework.clr
framework.compactframework
framework.component_services
framework.controls
framework.databinding
framework.drawing
framework.enhancements
framework.interop
framework.odbcnet
framework.performance
framework.remoting
framework.sdk
framework.setup
framework.webservices
framework.windowsforms
framework.wmi
frwk.windowsforms.designtime
lang.csharp
lang.jscript
lang.vb
lang.vb.controls
lang.vb.data
lang.vb.upgrade
lang.vc
lang.vc.libraries
  
 
start date: Mon, 20 Aug 2007 11:31:39 -0700,    posted on: microsoft.public.dotnet.framework.aspnet        back       

Thread Index
  1    Doogie
          2    George Ter-Saakov
          3    Doogie
          4    Ladislav Mrnka


Event not firing   
Hi,
I'm sure it's just something I'm not seeing but for some reason, an
event I have set up to be called when a combo box has been switched to
a new value is not being fired for some reason and I can't figure out
why.  Below is my HTML.

<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="DataCreator.aspx.cs" Inherits="DataCreator" %>

<!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>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="cbSqlServers" runat="server"
OnSelectedIndexChanged="cbSqlServers_SelectedIndexChanged"/>
            <asp:DropDownList ID="cbDatabases" runat="server"
AutoPostBack="True"/>
        </div>
    </form>
</body>
</html>

and below is my code behind page (there are calls to other cs files,,
that I'm not including here, if needed I can add them).

Mainly I'm trying to figure out why in the GetSqlServers method, when
the index value is changed it doesn't kick off
cbSqlServers_SelectedIndexChanged.  And it's not kicked off when I
manually change the index value on the screen.

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class DataCreator : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        GetSqlServers();
    }

    private void GetSqlServers()
    {
        string[] servers =
ConfigurationManager.AppSettings["SqlServers"].Split('|');

        foreach (string server in servers)
        {
            cbSqlServers.Items.Add(server);
        }

        if (cbSqlServers.Items.Count > 0)
        {
            cbSqlServers.SelectedIndex = 0;
        }
    }

    protected void cbSqlServers_SelectedIndexChanged(object sender,
EventArgs e)
    {
        cbDatabases.Items.Clear();
        cbDatabases.Text = String.Empty;

        string sqlServer = cbSqlServers.SelectedItem.ToString();

        cbDatabases.DataSource =
DataCreatorController.GetDatabases(sqlServer);

        if (cbDatabases.Items.Count > 0)
        {
            cbDatabases.SelectedIndex = 0;
        }

    }
}
Date:Mon, 20 Aug 2007 11:31:39 -0700   Author:  

Re: Event not firing   
I think you messed up ComboBoxes. One has AutoPostBack="True" but another 
has a SelectedIndexChanged assigned.
Also set AutoEventWireup to "false". It will make you life easier.

<asp:DropDownList ID="cbSqlServers" runat="server"

> OnSelectedIndexChanged="cbSqlServers_SelectedIndexChanged"/>
>            <asp:DropDownList ID="cbDatabases" runat="server"
> AutoPostBack="True"/>


George.


"Doogie"  wrote in message 
news:1187634699.110161.95970@g4g2000hsf.googlegroups.com...

> Hi,
> I'm sure it's just something I'm not seeing but for some reason, an
> event I have set up to be called when a combo box has been switched to
> a new value is not being fired for some reason and I can't figure out
> why.  Below is my HTML.
>
> <%@ Page Language="C#" AutoEventWireup="true"
> CodeFile="DataCreator.aspx.cs" Inherits="DataCreator" %>
>
> <!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>Untitled Page</title>
> </head>
> <body>
>    <form id="form1" runat="server">
>        <div>
>            <asp:DropDownList ID="cbSqlServers" runat="server"
> OnSelectedIndexChanged="cbSqlServers_SelectedIndexChanged"/>
>            <asp:DropDownList ID="cbDatabases" runat="server"
> AutoPostBack="True"/>
>        </div>
>    </form>
> </body>
> </html>
>
> and below is my code behind page (there are calls to other cs files,,
> that I'm not including here, if needed I can add them).
>
> Mainly I'm trying to figure out why in the GetSqlServers method, when
> the index value is changed it doesn't kick off
> cbSqlServers_SelectedIndexChanged.  And it's not kicked off when I
> manually change the index value on the screen.
>
> using System;
> using System.Data;
> using System.Configuration;
> using System.Collections;
> using System.Collections.Generic;
> using System.Web;
> using System.Web.Security;
> using System.Web.UI;
> using System.Web.UI.WebControls;
> using System.Web.UI.WebControls.WebParts;
> using System.Web.UI.HtmlControls;
>
> public partial class DataCreator : System.Web.UI.Page
> {
>    protected void Page_Load(object sender, EventArgs e)
>    {
>        GetSqlServers();
>    }
>
>    private void GetSqlServers()
>    {
>        string[] servers =
> ConfigurationManager.AppSettings["SqlServers"].Split('|');
>
>        foreach (string server in servers)
>        {
>            cbSqlServers.Items.Add(server);
>        }
>
>        if (cbSqlServers.Items.Count > 0)
>        {
>            cbSqlServers.SelectedIndex = 0;
>        }
>    }
>
>    protected void cbSqlServers_SelectedIndexChanged(object sender,
> EventArgs e)
>    {
>        cbDatabases.Items.Clear();
>        cbDatabases.Text = String.Empty;
>
>        string sqlServer = cbSqlServers.SelectedItem.ToString();
>
>        cbDatabases.DataSource =
> DataCreatorController.GetDatabases(sqlServer);
>
>        if (cbDatabases.Items.Count > 0)
>        {
>            cbDatabases.SelectedIndex = 0;
>        }
>
>    }
> }
> 
Date:Mon, 20 Aug 2007 14:53:09 -0400   Author:  

Re: Event not firing   

> I think you messed up ComboBoxes. One has AutoPostBack="True" but another
> has a SelectedIndexChanged assigned.
> Also set AutoEventWireup to "false". It will make you life easier.


I had AutoPostback set to true by mistake there, I removed that, but
it had no effect.  The method still isn't being fired.  (I do have the
call to the method in the right spot though).

What is AutoEventWireup?  I tried to put that in as an attribute of my
dropdown list, but the HTML complained it wasn't a valid attribute.
Date:Mon, 20 Aug 2007 13:14:30 -0700   Author:  

RE: Event not firing   
Hi Doogie,
when you change index manually in code behind file you also have to manually 
trigger your SelectIndexChanged handler. To allow triggering event by 
changing value in browser you also need to have some control which causes a 
postback - like button or set AutoPostBack = true on servers drop down.

If you implement these changes your code will always ends with first server 
selected because you override index selected by user with 0 in each postback. 
You also do not clear server's drop down so values will be cumulated.

Regards,
Ladislav


"Doogie" wrote:


> Hi,
> I'm sure it's just something I'm not seeing but for some reason, an
> event I have set up to be called when a combo box has been switched to
> a new value is not being fired for some reason and I can't figure out
> why.  Below is my HTML.
> 
> <%@ Page Language="C#" AutoEventWireup="true"
> CodeFile="DataCreator.aspx.cs" Inherits="DataCreator" %>
> 
> <!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>Untitled Page</title>
> </head>
> <body>
>     <form id="form1" runat="server">
>         <div>
>             <asp:DropDownList ID="cbSqlServers" runat="server"
> OnSelectedIndexChanged="cbSqlServers_SelectedIndexChanged"/>
>             <asp:DropDownList ID="cbDatabases" runat="server"
> AutoPostBack="True"/>
>         </div>
>     </form>
> </body>
> </html>
> 
> and below is my code behind page (there are calls to other cs files,,
> that I'm not including here, if needed I can add them).
> 
> Mainly I'm trying to figure out why in the GetSqlServers method, when
> the index value is changed it doesn't kick off
> cbSqlServers_SelectedIndexChanged.  And it's not kicked off when I
> manually change the index value on the screen.
> 
> using System;
> using System.Data;
> using System.Configuration;
> using System.Collections;
> using System.Collections.Generic;
> using System.Web;
> using System.Web.Security;
> using System.Web.UI;
> using System.Web.UI.WebControls;
> using System.Web.UI.WebControls.WebParts;
> using System.Web.UI.HtmlControls;
> 
> public partial class DataCreator : System.Web.UI.Page
> {
>     protected void Page_Load(object sender, EventArgs e)
>     {
>         GetSqlServers();
>     }
> 
>     private void GetSqlServers()
>     {
>         string[] servers =
> ConfigurationManager.AppSettings["SqlServers"].Split('|');
> 
>         foreach (string server in servers)
>         {
>             cbSqlServers.Items.Add(server);
>         }
> 
>         if (cbSqlServers.Items.Count > 0)
>         {
>             cbSqlServers.SelectedIndex = 0;
>         }
>     }
> 
>     protected void cbSqlServers_SelectedIndexChanged(object sender,
> EventArgs e)
>     {
>         cbDatabases.Items.Clear();
>         cbDatabases.Text = String.Empty;
> 
>         string sqlServer = cbSqlServers.SelectedItem.ToString();
> 
>         cbDatabases.DataSource =
> DataCreatorController.GetDatabases(sqlServer);
> 
>         if (cbDatabases.Items.Count > 0)
>         {
>             cbDatabases.SelectedIndex = 0;
>         }
> 
>     }
> }
> 
> 
Date:Tue, 21 Aug 2007 00:52:00 -0700   Author:  

Google
 
Web dotnetnewsgroup.com


COPYRIGHT ?2005, EUROFRONT WORLDWIDE LTD., ALL RIGHT RESERVE  |   Contact us