Någon som har fixat att "Kalla på serverside function (page method) via javascript från usercontrol" Jag använder UserControls eftersom jag vill bygga komponentbaserat (och vår utvecklingspolicy säger det). Och eftersom komponenter inte skall behöva ha vetskap om andra komponenter (det är ju därför de är komponenter) sker kommunikationen (på klientsida) via javascripts event (skrivna i prototyp). http://pietschsoft.com/Blog/Post.aspx?PostID=784 <-- Kanske kan vara en lösning... Får kolla upp lite mer. Kan du inte använda en webservice..? Jo visst kan jag det... men det löser inte mitt problem! Hur har det gått? Kalla på serverside function via javascript från usercontrol
Tja problemet kvarstår men nu i ny tråd [Kalla på serverside function via javascript] jag glömde säga att det var från en usercontrol.
Och vad jag kan hitta så funkar det inte att kalla på saker i en usercontrol :-(Sv:Kalla på serverside function via javascript från usercontrol
Lite konstigt sen att om jag hade buntat ihop allt fult så fungerar det men om man försöker snygga till och göra komponentbaserat så finns det inget stöd för det :-(Sv: Kalla på serverside function via javascript från usercontrol
Visser ligen säger http://www.tednyberg.com/Default.aspx?id=70 --> "Din sidmetod kan inte vara deklarerad i en .cs-fil som tillhör en user control"
Men jag skall se vad som fungerar :-)Sv:Kalla på serverside function via javascript från usercontrol
Sv: Kalla på serverside function via javascript från usercontrol
Vet inte om du har hört talas om saker som komponentbaserat och skicktade lösningar?
Verkar inte som MS tycker att man skall använda deras usercontrols för att göra "snygga" lösningar :-(Sv:Kalla på serverside function via javascript från usercontrol
Eftersom du inte vill använda webservice som blir det naturliga, men det finns ju ett litet fulsätt faktiskt..
det är att man ex. skickar ett värde till sidan med javscript i så att säga en querystring, eftersom någon form av postning till sidan måste ske.
Så får man i usercontrol.ascx.vb kolla om querystringen finns. Kan man göra i page_load, och sedan om den finns och har ett värde som vi tillåter, exekvera metoden..
är kanske inte det sättet du hade tänkt dig, men om man nu inte vill använda sig av webservice.. för att det kanske nu inte passar.. så kan detta kanske vara ett alternativ... KANSKE! :)
<code>
If Request.QueryString("QueryString") = "något" Then
CallMethod(Request.QueryString("QueryString"))
End if
Private Sub CallMethod(Optional ByVal string As String = "")
Select Case(string)
Case "DropUser"
MethodDropUser()
Case "UpdateUser"
MethodUodateUser()
Case Else
End Select
End Sub
</code>
För dem som inte riktigt vet vad skiktade lösningar är.. :)
Här är en 3-skikts som består av
1. Gränssnittet
- Webforms med ex inlänkade usercontrols.
kommunikation görs till användaren samt affärslagret.
2. Affärslagret
- Vb, Cs filer, kommunikatin med datalager
3. Datalagret
- Vb, Cs filer, kommunikation med databas