Ik zal beginnen met even de situatie te schetsen:
Ik ben een intranet site aan het maken voor een bedrijf...
Als webserver wordt IIS6 gebruikt, als database MS SQL 2000, als ontwikkelomgeving Visual Studio .NET, als code-behind VB.NET
als men naar een bepaalde pagina surft wordt altijd hetvolgende gedaan:
index.aspx wordt geladen, dit bevat een menu links en bovenaan, en hetgeen overblijft is een placeholder...
op deze placeholder wordt de eigelijke pagina naar waar men gesurft heeft geladen...
Die pagina's zijn "web user controls" (.ascx)
bv:
1) men surft naar event.aspx, deze file bestaat niet, maar event.ascx wel
2) index.aspx wordt geladen
3) event.ascx wordt in de placeholder geladen in index.aspx
nu het eigelijke probleem:
in mijn event.ascx moet een begin en eind datum ingevult worden... aangezien er blijkbaar maximum 1 asp:calendar per web pagina gebruikt kan worden, besloot ik om een extra venster te tonen waar de datum in gekozen kan worden...
Ik roep dit extra venster (DateTimePicker.aspx) op met javascript wanneer men op icoontje klikt naast de textbox waar de datum uiteindelijk in moet komen:
de 3 alerts worden aangeroepen... maw ik kan niet aan een label uit index.aspx en niet aan een textbox uit event.ascx
ik kan maw nergens aan...
De 2 pogingen om de textbox te updaten mislukken dan ook
Ik ben intussen al 2 dagen non-stop aan het zoeken achter een oplossing om toch de textbox te kunnen updaten...
Ik heb ook al een alternatief in mijn achterhoofd:
de datum opslaan in een session, of de event.ascx pagina opnieuw laden met als parameter de datum
maar bij beide alternatieven, moet ik ook de overige velden (titel, bericht, locatie, etc) ergens bijhouden, omdat de pagina moet herladen worden...
Het lijken me dan ook geen goede alternatieven... (het hele bericht (=richttextbox) in een session opslaan?)
Ik hoop dan ook dat iemand me kan zeggen hoe ik vanuit javascript toch aan mijn textbox zou kunnen...
Bij voorbaat dank...
Ik ben een intranet site aan het maken voor een bedrijf...
Als webserver wordt IIS6 gebruikt, als database MS SQL 2000, als ontwikkelomgeving Visual Studio .NET, als code-behind VB.NET
als men naar een bepaalde pagina surft wordt altijd hetvolgende gedaan:
index.aspx wordt geladen, dit bevat een menu links en bovenaan, en hetgeen overblijft is een placeholder...
op deze placeholder wordt de eigelijke pagina naar waar men gesurft heeft geladen...
Die pagina's zijn "web user controls" (.ascx)
bv:
1) men surft naar event.aspx, deze file bestaat niet, maar event.ascx wel
2) index.aspx wordt geladen
3) event.ascx wordt in de placeholder geladen in index.aspx
nu het eigelijke probleem:
in mijn event.ascx moet een begin en eind datum ingevult worden... aangezien er blijkbaar maximum 1 asp:calendar per web pagina gebruikt kan worden, besloot ik om een extra venster te tonen waar de datum in gekozen kan worden...
Ik roep dit extra venster (DateTimePicker.aspx) op met javascript wanneer men op icoontje klikt naast de textbox waar de datum uiteindelijk in moet komen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Public Sub BeginDatumSelect(ByVal sender As Object, ByVal e As EventArgs)
Response.Write("<script language='javascript'>")
Dim jsComm As String = ""
jsComm &= "var strBegin; strBegin=window.showModalDialog('DateTimePicker.aspx?"
jsComm &= "datumtijd=" & txtBegin.Text & "','DateTimePicker',"
jsComm &= "'scroll:no;status=no;dialogWidth:500px;dialogHeight:900px;');"
jsComm &= "if (window.document.getElementById('lbl_index') == null) alert('kan lbl_index, uit index.aspx, niet vinden');"
jsComm &= "if (window.document.getElementById('txtBegin') == null) alert('kan txtBegin, waar de datum in moet komen, uit event.ascx, niet vinden');"
jsComm &= "if (window.document.getElementById('" & txtBegin.ClientID & "') == null) alert('kan txtBegin, waar de datum in moet komen, uit event.ascx, niet vinden');"
'jsComm &= "if (strBegin != null) window.document.getElementById('txtBegin').value = strBegin;" ' --> werkt niet
'jsComm &= "if (strBegin != null) window.document.getElementById('" & txtBegin.ClientID & "').value = strBegin;" ' --> werkt niet
Response.Write(jsComm)
Response.Write("</script>")
End Sub |
de 3 alerts worden aangeroepen... maw ik kan niet aan een label uit index.aspx en niet aan een textbox uit event.ascx
ik kan maw nergens aan...
De 2 pogingen om de textbox te updaten mislukken dan ook
Ik ben intussen al 2 dagen non-stop aan het zoeken achter een oplossing om toch de textbox te kunnen updaten...
Ik heb ook al een alternatief in mijn achterhoofd:
de datum opslaan in een session, of de event.ascx pagina opnieuw laden met als parameter de datum
maar bij beide alternatieven, moet ik ook de overige velden (titel, bericht, locatie, etc) ergens bijhouden, omdat de pagina moet herladen worden...
Het lijken me dan ook geen goede alternatieven... (het hele bericht (=richttextbox) in een session opslaan?)
Ik hoop dan ook dat iemand me kan zeggen hoe ik vanuit javascript toch aan mijn textbox zou kunnen...
Bij voorbaat dank...
[ Voor 8% gewijzigd door Mastakilla op 31-03-2005 13:48 ]