Gegroet!
Ik had het een en ander gelezen over de AJAX methode en was uitgekomen op een soortgelijke manier voor ASP .NET 2.0. Je kunt namelijk met de callback functie die in ASP 2.0 zit gebruiken om stuff door heen en weer te sturen van de client naar de server zonder de page te refreshen.
Nu is deze functie die in ASP zit, maar voor 1 callback mogelijk en als je bijvoorbeeld 2 buttons hebt, weet je niet welke button het is etc.. of welke andere control dan ook het stuurde.. Dus kwam ik uit bij een tutorial. Deze was alleen voor de BETA versie geschreven van .net 2.0, waarbij de types van de functies anders waren. Ik heb dit een beetje herschreven, maar het wil niet echt werken...
Ik weet niet of mensen hier sowieso bekent mee zijn.
Dit is de class voor elke control op je html page (button, textfield.. wat dan ook) waarbij je constant een nieuwe aanmaakt. Hier bind je dan een functie aan die de callback uitvoert bij Scriptcallback op deze manier:
Hierin wordt de callback dus geinitialiseerd en de onclick functie op het object Button1 geset, zodat deze naar de server wordt gestuurd. Als het goed is zou dit dan moeten worden gereturned naar de client.
De functie TestJavaScript functie parst TestTestButton1 dan in een <div> waardoor je op je browser iets nieuws ziet, zonder te refreshen van de pagina.
Maar helaas, ik krijg deze error(s):
Error 1 '_Default' does not implement interface member 'System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent(string)' c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website2\45bbc2d9\1f87478a\App_Web_qx0ubqhg.0.cs 14
Error 2 '_Default' does not implement interface member 'System.Web.UI.ICallbackEventHandler.GetCallbackResult()' c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website2\45bbc2d9\1f87478a\App_Web_qx0ubqhg.0.cs 14
Eerlijk gezegd snap ik niks van deze error
En als ik er op google kom ik op de pagina's uit die ik als hulpmiddel heb gebruikt
Bij comments van mense die er ook nie uitkomen...
Dusss.. khoop niet dat dit veronderstelt wordt als debuggen, want ik heb er eerst zelf goed naar gekeken en gegoogeled
Khoop dat iemand me kan helpen
Ik had het een en ander gelezen over de AJAX methode en was uitgekomen op een soortgelijke manier voor ASP .NET 2.0. Je kunt namelijk met de callback functie die in ASP 2.0 zit gebruiken om stuff door heen en weer te sturen van de client naar de server zonder de page te refreshen.
Nu is deze functie die in ASP zit, maar voor 1 callback mogelijk en als je bijvoorbeeld 2 buttons hebt, weet je niet welke button het is etc.. of welke andere control dan ook het stuurde.. Dus kwam ik uit bij een tutorial. Deze was alleen voor de BETA versie geschreven van .net 2.0, waarbij de types van de functies anders waren. Ik heb dit een beetje herschreven, maar het wil niet echt werken...
Ik weet niet of mensen hier sowieso bekent mee zijn.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| public delegate string delScriptCallBack(string eventArgument);
public class EventControl : Control, ICallbackEventHandler
{
public event delScriptCallBack ScriptCallback;
private string _callbackArg;
void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
{
_callbackArg = eventArgument;
}
string ICallbackEventHandler.GetCallbackResult()
{
return RaiseCallbackEvent(_callbackArg);
}
protected virtual string RaiseCallbackEvent(string eventArgument)
{
if (this.ScriptCallback != null)
return this.ScriptCallback(eventArgument);
return "Not Implemented";
}
} |
Dit is de class voor elke control op je html page (button, textfield.. wat dan ook) waarbij je constant een nieuwe aanmaakt. Hier bind je dan een functie aan die de callback uitvoert bij Scriptcallback op deze manier:
code:
1
2
3
4
5
6
7
8
9
10
11
| public EventControl Button1Event = new EventControl();
this.Button1Event.ScriptCallback += new delScriptCallBack(CustomerEventControl_ScriptCallback);
this.AddParsedSubObject(this.Button1Event);
string ScriptRef = this.ClientScript.GetCallbackEventReference(
this.Button1Event,
"document.getElementById('Button1').value",
"TestCallback",
"'TestJavaScriptfunctie'",
"TestCallback",
true);
this.Button1.Attributes.Add("onclick", ScriptRef); |
Hierin wordt de callback dus geinitialiseerd en de onclick functie op het object Button1 geset, zodat deze naar de server wordt gestuurd. Als het goed is zou dit dan moeten worden gereturned naar de client.
code:
1
2
3
4
| string Button1_ScriptCallback(string eventArgument)
{
return "TestTestButton1";
} |
De functie TestJavaScript functie parst TestTestButton1 dan in een <div> waardoor je op je browser iets nieuws ziet, zonder te refreshen van de pagina.
Maar helaas, ik krijg deze error(s):
Error 1 '_Default' does not implement interface member 'System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent(string)' c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website2\45bbc2d9\1f87478a\App_Web_qx0ubqhg.0.cs 14
Error 2 '_Default' does not implement interface member 'System.Web.UI.ICallbackEventHandler.GetCallbackResult()' c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website2\45bbc2d9\1f87478a\App_Web_qx0ubqhg.0.cs 14
Eerlijk gezegd snap ik niks van deze error
Dusss.. khoop niet dat dit veronderstelt wordt als debuggen, want ik heb er eerst zelf goed naar gekeken en gegoogeled
Khoop dat iemand me kan helpen