Avatar billede curriculum Nybegynder
21. december 2004 - 01:06 Der er 15 kommentarer og
1 løsning

dropdownlist eller select

Hvordan kan en dropdown liste udfyldest via kode i en Class, følgende kode demonstrer lidt af ide'en til løsningen. Den fejl jeg får i øjeblikket er: Microsoft JScript runtime error: 'FillLowerLevel' is undefined

Private Sub FillLowerLevel(ByVal sender As System.Object, ByVal e As System.EventArgs)
  dlLowerLevel.Attributes.Add("Red","1")
  dlLowerLevel.Attributes.Add("Green","2")
End Sub

Private Function GetList()
  GetList = "<table>" _
  & "<tr>" _
  & "<td>" _
  & "<select id=""dlSubject"" runat=""server"" onChange=""FillLowerLevel"">" _
  & "<option selected value=""0"">Choose options</option>" _
  & "<option value=""1"">Apple</option>" _
  & "<option value=""2"">Orange</option>" _
  & "</td>" _
  & "</tr>" _
  & "<tr>" _
  & "<td>" _
  & "<select name=""LowerLevel"" id=""dlLowerLevel"" runat=""server""></select>" _
  & "</td>" _
  & "</tr>" _
  & "</table>"
End Function

Jeg har al html koden inde i min VB Class. Koden skal fungere som en den første drop down skal udfylde den næste drop down.
Avatar billede snepnet Nybegynder
21. december 2004 - 07:36 #1
Hej curriculum :o)

Du kan bare gøre sådan her :

DataTable dt = someData.GetData();
DropDownList ddData = new DropDownList();
ddData.DataSource = dt;
ddData.DataTextField = "SomeColumnName";
ddData.DataValueFied = "SomeColumnName";
ddData.DataBind();
SomePlaceHolder.Controls.Add(ddData);

Du må lige sige til, hvis du er i tvivl om noget.

mvh
Avatar billede snepnet Nybegynder
21. december 2004 - 07:37 #2
hov... du skal nok lige sætte et par dim's ind og sløjfe nogle ; ind hvis du skal have det på VB'sk :o)
Avatar billede snepnet Nybegynder
21. december 2004 - 07:38 #3
men bortset fra det kommer din fejl vel fordi du ikke har en FillLowerLevel metode clientside.
Avatar billede snepnet Nybegynder
21. december 2004 - 07:42 #4
har du nogle specielle årsager til at du vil skrive html-koden selv ? - den metode du har vist ligger ikke sådan lige op af asp.net praksis.
mvh
Avatar billede snepnet Nybegynder
21. december 2004 - 07:51 #5
det her spørgsmål handler om noget tilsvarende :
http://eksperten.dk/spm/552897
mvh
Avatar billede curriculum Nybegynder
21. december 2004 - 10:21 #6
Jeg ser på din kommentar senere i dag.
Jeg ved at min programmeringsmåde ikke er helt i tråd med ren asp.net, fordi jeg ikke bruger en "fil per site". Måden jeg laver tingene på, er sådan at jeg bruger class'en i aspx.vb filen, til al programmeringen, og har kun en "tom" forside, hvor der kun er headere o.l. Resten foregår i class'en, meget nemt at vedligeholde. Måske Microsoft finder ud af hvor effektivt det er til næste eller tredje version af dot net.. :)
Avatar billede snepnet Nybegynder
21. december 2004 - 10:25 #7
det var nu mere det med at du selv skriver al html-koden jeg studsede over, og ikke det at du skriver den fra din code-behind.
mvh
Avatar billede curriculum Nybegynder
22. december 2004 - 04:08 #8
Jeg får denne mærkelige JScript fejl, når jeg forsøger at udfylde den næste dropdown liste !
Her er al relateret kode.

<asp:DropDownList id="ddSubject" AutoPostBack="True" runat="server" Width="183" OnSelectedIndexChanged="ddSubject_SelectedIndexChanged" />

........

Sub FillSubject()
Dim aSubject As DataTable
Dim i As Integer
Dim row As DataRow

aSubject = GetRecordsetArray("SELECT Id,Subject FROM subject WHERE uiParent = 0 ORDER BY subject")
If aSubject.Rows.Count <> 0 Then
    For Each row In aSubject.Rows
        Dim myItem = New ListItem()
                myItem.value = row(0)
                myItem.text = row(1)
                ddSubject.Items.Add(myItem)
                myItem = Nothing
        Next
    End If
End Sub

Sub ddSubject_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddSubject.SelectedIndexChanged
  LabelError = "Can not fill in Lower Level subjects"
End Sub

..............

Microsoft JScript runtime error: Object doesn't support this property or method


__doPostBack
theForm.submit();
Avatar billede snepnet Nybegynder
22. december 2004 - 18:27 #9
ja det lyder unægteligt lidt underligt... jeg har lige et par spørgsmål :

hvilket browser ser du det i ?
har du slet ikke noget kode i stil med GetPostbackEventReference ell. ?
har du selv skrevet noget clientside kode ?
er dine lister indlejret i en usercontrol ?
hvilket version af frameworket bruger du ?

mvh
snep
Avatar billede curriculum Nybegynder
23. december 2004 - 03:03 #10
Jeg vil forsøge at svare alle dine spørgsmål.

Jeg bruger IE 6.0
GetPostbackEventReference kender jeg ikke noget til.
Jeg har ikke skrevet nogen client kode vedrørende .net koden. Den JScript fejl der opstår har .Net selv lavet.
Nej listerne er ikke i en usercontrol, de er i aspx filen.
Jeg bruger .Net Framework 1.1
Avatar billede snepnet Nybegynder
23. december 2004 - 03:29 #11
hmmm... har du eventuelt en knap på siden som du har givet navnet "submit" ?
(hvis du har... så prøv at kald den noget andet)
mvh
Avatar billede snepnet Nybegynder
23. december 2004 - 03:29 #12
altså hvis du har sådan en fyr her :
<input type="submit" name="submit" ... >
så prøv dette istedet :
<input type="submit" name="btnSubmit" ... >
Avatar billede snepnet Nybegynder
23. december 2004 - 03:30 #13
(indsættes den programmatisk giver du den self. bare et navn i koden)
Avatar billede curriculum Nybegynder
23. december 2004 - 16:01 #14
Det var problemet med navnet på min submit knap... tak og send et svar.
Jeg fandt eller også denne artikel, der forklarer nøjagtigt løsningen..
http://www.error-bank.com/microsoft.public.dotnet.framework.aspnet.webcontrols/utyNoct5DHA.1672@TK2MSFTNGP12.phx.gbl_Thread.aspx
Avatar billede snepnet Nybegynder
23. december 2004 - 21:40 #15
et svar skal du få.... lidt speciel "feature" kan man sige ;o)
mvh
Avatar billede snepnet Nybegynder
07. september 2005 - 18:19 #16
halløjsa - accepterer du her?
mvh
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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