---
title: "AJAXToolKit Dropdown extender"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/165591-ajaxtoolkit-dropdown-extender"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Gimbo"
published: "2007-10-18T08:30:00.000Z"
updated: "2007-10-30T10:36:25.000Z"
replies: 8
views: 1208
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/165591-ajaxtoolkit-dropdown-extender"
---

# AJAXToolKit Dropdown extender

## #1 — Gimbo, 2007-10-18T08:30Z

Hej,

laddade ner AJAXCOntrolToolKit från ajax.asp.net men jag inte få kontrollen dropdown extender att fungera (http://asp.net/AJAX/AjaxControlToolkit/Samples/DropDown/DropDown.aspx): 

Jag vill lägga drpdown extendern i en cell i en datagrid,,, dvs alla namn i datagriden skall ha dropdown extendern och så här har jag gjort men får det inte att fungera :@

vet egentligen inte vart någonstans jag ska lägga koden? men har nedastående kod i 

 void dgr_ItemDataBound(object sender, DataGridItemEventArgs e)

```
LinkButton lb = new LinkButton();
lb.ID = "link";
lb.Click += new EventHandler(lb_Click);
lb.Text = row["Filename"].ToString();
lb.CommandArgument = row["FilePath"].ToString();

AjaxControlToolkit.DropDownExtender drpExtender = new AjaxControlToolkit.DropDownExtender();
drpExtender.ID = "DDE";
drpExtender.TargetControlID = lb.ID;
drpExtender.DropDownControlID = drpPanel.ID;

drpExtender.Controls.Add(lb);
drpExtender.DropArrowImageUrl = "~/app_themes/blue/images/bullet_arrow_down.png";

e.Item.Cells[1].Controls.Clear();
e.Item.Cells[1].Controls.Add(drpExtender);
```

Permalänk: https://www.webforum.nu/p/165591

## #2 — Gimbo, 2007-10-19T08:20Z

någon?

Permalänk: https://www.webforum.nu/p/2042893

## #3 — Travoni, 2007-10-19T08:50Z

Men du måste väl lägga in detta

```
<ajaxToolkit:DropDownExtender runat="server" ID="DDE"
    TargetControlID="TextLabel" 
    DropDownControlID="DropPanel" />
```

i en itemtemplate.

Permalänk: https://www.webforum.nu/p/2042904

## #4 — Gimbo, 2007-10-25T13:18Z

Jag jobbar i code-behinde...
jag tror felet ligger i scriptmanagern eller för på något konstigt sätt får jag ett javascript fel på sidan som lyder:

'\_behaviur' is null or not an object, dvs det känns som att scriptmanagern inte gör det den skall, eller är det jag som stirrat mig blind på scriptmanagern, och att felet kan ligga någon annanstans då man får ett javascripts fel?

```
ScriptManager  sm;

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);

           sm = ScriptManager.GetCurrent(this.Page);
 
    if (sm == null)
    {
        
        sm = new ScriptManager();
        sm.EnablePartialRendering = true;
 
 Scriptmangern ska komma först
        this.Page.Form.Controls.AddAt(0, sm);
}
}
```

skulle vara VÄLDIGt tacksam för hjälp

Permalänk: https://www.webforum.nu/p/2044292

## #5 — ordell, 2007-10-28T12:18Z

Hm, har du testat att lägga till kontrollen (lb) till cellen också? 

e.Item.Cells\[1\].Controls.Add(lb);
innan du lägger till extendern...

Permalänk: https://www.webforum.nu/p/2044811

## #6 — Gimbo, 2007-10-30T09:47Z

skit schysst tack för hjälpen!!
fick det att funka :D för er som är intresserade så ser ni koden nedan... 
en sak som inte triggas är:
pnl.Attributes\["style="\] = "display:none; visibility:none;";
pnl.CssClass = "ContextMenuPanel";

får inte den fina bakgrunden i dropdownen med mouseovern, och den skall dyka upp m h a ovanstående kod, men det verkar som att den inte triggas, någon som har någon aning om varför?

koden för dropdown extendern:

```
AjaxControlToolkit.DropDownExtender hme = new AjaxControlToolkit.DropDownExtender();
                    Panel pnl = new Panel();
                    pnl.Attributes["style="] = "display:none; visibility:none;";
                    pnl.CssClass = "ContextMenuPanel";

                    e.Item.ID = "dgvRow_" + e.Item.ItemIndex.ToString();

                    LinkButton lb1 = new LinkButton();
                    pnl.ID = "pnl" + e.Item.ItemIndex.ToString();
                    pnl.Controls.Add(lb1);
                    lb1.Text = "function 1";

                    LinkButton lb2 = new LinkButton();
                    pnl.Controls.Add(lb2);
                    lb2.Text = "function 2";

                    LinkButton lb3 = new LinkButton();
                    pnl.Controls.Add(lb3);
                    lb3.Text = "function 3";

                    //hme.PopupControlID = pnl.ID;
                    hme.DropDownControlID = pnl.ID;
                    hme.TargetControlID = e.Item.ID;
                    
                    
                    
                    e.Item.Cells[1].Controls.Clear();
                    e.Item.Cells[1].Controls.Add(lb);
                    e.Item.Cells[1].Controls.Add(hme);
                    e.Item.Cells[1].Controls.Add(pnl);
```

Permalänk: https://www.webforum.nu/p/2045220

## #7 — inspiro, 2007-10-30T10:17Z

Jag tror du ska skriva så här (otestat):

```
pnl.Style.Add("display","none")
```

...och visibility:hidden ska det nog vara, men har du display:none så behöver du ju inte ha med det alls.

Permalänk: https://www.webforum.nu/p/2045232

## #8 — Gimbo, 2007-10-30T10:28Z

Funkade fint med

```
pnl.Style.Add("display", "none");
pnl.Style.Add("visibility", "hidden");
```

men hur blir det med classen

```
pnl.CssClass = "ContextMenuPanel";
```

 ? den kommer inte ens med när jag kollar i källkoden?

Permalänk: https://www.webforum.nu/p/2045234

## #9 — Gimbo, 2007-10-30T10:36Z

löste d

```
pnl.Attributes.Add("class", "ContextMenuPanel");
```

ska d va

Permalänk: https://www.webforum.nu/p/2045238

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/165591-ajaxtoolkit-dropdown-extender
