Avatar billede havmaage Juniormester
16. september 2014 - 14:47 Der er 12 kommentarer og
1 løsning

electedIndexChanged i dropdownbox c# asp.net 4.0

Hej
Jeg sidder i visuaæl studio 2010 og leger med asp
jeg har en aspx side hvor jeg har tilføjeten dropdownbox og en label og ville gerne have label til at indeholde den valgte værdi fra min dropdown :
har prøvet med følgend kode


  protected void drpdown_SelectedIndexChanged(object sender, EventArgs e)
        {

            Label1.Text = drpdown.SelectedValue.ToString();
        }
       
men intet sker når jeg vælger et element i min dropwdown liste.
Hvorfor mon ?
Avatar billede keysersoze Guru
16. september 2014 - 14:53 #1
Det kan skyldes utallige ting - fx at din event ikke er bundet på din dropdown eller at du dynamisk indsætter din dropdown og ikke får den reinitialiseret tidligt nok. Du kan prøve at debugge og så hvor langt du når i din kode i forhold til forventet og giver det ikke resultat så kom med lidt mere kode.
Avatar billede havmaage Juniormester
16. september 2014 - 17:00 #2
debug gav ikke rigtig svar, den kom slet ikke ned i event.

her er hele koden

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Indbudte
{
    public partial class _default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
           

        }
        protected void drpdown_SelectedIndexChanged(object sender, EventArgs e)
        {

       
            Label1.Text = drpdownSygehus.SelectedValue.ToString();
        }
     
       
     
    }
     
   
}
Avatar billede havmaage Juniormester
16. september 2014 - 17:01 #3
drpdownSygehus skal være drpdown
Avatar billede keysersoze Guru
16. september 2014 - 17:37 #4
Hvordan ser koden til drpdown så ud?
Avatar billede havmaage Juniormester
16. september 2014 - 18:29 #5
<%@ Page Title="" Language="C#" MasterPageFile="~/main.Master" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="Indbudte._default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
min aspx ser således ud.

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    Vælg By:<asp:DropDownList ID="drpdown" runat="server"
        onselectedindexchanged="drpdown_SelectedIndexChanged">
        <asp:ListItem>Århus</asp:ListItem>
        <asp:ListItem>Viborg</asp:ListItem>
        <asp:ListItem>Herning</asp:ListItem>
        <asp:ListItem>Randers</asp:ListItem>
        <asp:ListItem>Horsens</asp:ListItem>
    </asp:DropDownList>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    <br />
 
    <br />
</asp:Content>
Avatar billede keysersoze Guru
16. september 2014 - 21:29 #6
Sådan som jeg lige ser det er der ikke umiddelbart fejl i ovenstående. Kommer den ind i din page_load?
Avatar billede havmaage Juniormester
17. september 2014 - 10:02 #7
Hej igen, jeg kommer ind i page_load. men når jeg vælger en værdi i dropdown boksen kommer den ikke ind i
protected void drpdown_SelectedIndexChanged(object sender, EventArgs e)

Det ser ud som om den ikke er bundet sammen. Selv jeg stod i design view og dobbeltklikkede op dropdown boksen for at binde eventen på.

mystisk.
Avatar billede havmaage Juniormester
17. september 2014 - 10:13 #8
Så fandt jeg selv løsningen på problemet
AutoPostBack="True">

did the trick.
Men læg lige et svar så jeg kan give dig point for din indsats
Avatar billede keysersoze Guru
17. september 2014 - 10:14 #9
Det opklarer det ikke helt for mig - når du vælger en værdi kommer du altså ind i page_load men bare ikke SelectedIndexChanged? Og du har ikke mere kode i din codebehind end ovenstående?
Avatar billede keysersoze Guru
17. september 2014 - 10:18 #10
ja - ok, det er klart. Jeg skal ikke have point så bare behold dem.

Uden at vide hvad du skal lave så vil man nok nærmere benytte JavaScript til dit eksempel da det er langsomt og unødigt at foretage et postback.
Avatar billede havmaage Juniormester
17. september 2014 - 12:29 #11
Jeg skal læse nogle database værdier op i dropdown og udfra det fylde et gridview med data.
En stor udfordring for mig er at jeg mest har beskæftiget miog med backend udvikling og derfor har meget "gammel" og begrænset viden om hvordan man udvikler frontends
Avatar billede keysersoze Guru
17. september 2014 - 16:44 #12
Der er ikke én måde at gøre det på - med det du forklarer vil et postback selvfølgelig være fint, men i moderne løsninger vil valget sikkert falde på load via AJAX :)
Avatar billede havmaage Juniormester
18. september 2014 - 13:25 #13
Lukker spg. med tak til keysersoze
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester