Avatar billede c-sharp Nybegynder
06. januar 2007 - 08:26 Der er 5 kommentarer og
2 løsninger

problem med ICallbackEventHandler

Jeg har leget lidt med ICallbackEventHandler og i den forbindelse har jeg et problem. jeg har følgende kode:

cs:
private int vide;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            vide = 0;

            ClientScriptManager cm = Page.ClientScript;
            String cbReference = cm.GetCallbackEventReference(this, "arg", "ReceiveServerData", "");
            String callbackScript = "function CallServer(arg, context) {" + cbReference + "; }";
            cm.RegisterClientScriptBlock(this.GetType(),"CallServer", callbackScript, true);

        }
    }

    public string GetCallbackResult()
    {
        Thread.Sleep(1000);
        vide = vide + 10;
        return (vide).ToString();

    }

    public void RaiseCallbackEvent(string eventArgument)
    {
        vide = Convert.ToInt32(eventArgument);
    }

aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">

        var vide = 0;
        function ReceiveServerData(arg, context)
        {
            vide = arg;
            Message.innerText = 'Processed callback.' + vide;
            document.getElementById('progress_gif').style.width = vide + 'px';
           
            if(vide != '100')
            {
                CallServer(vide);
            }
            else
            {
                vide = 0;
            }
        }
       
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
  <input type="button" value="Callback" onclick="CallServer(vide)"/>
<br />
<span id="Message"></span><br />

<img id="progress_gif" src="images/progress.gif" style="height:10px" alt="" />


    </div>
    </form>
</body>
</html>

Men når den laver et callback fra funktionen "ReceiveServerData(arg, context)" får jeg følgende javascript fejl "'__pendingcallbacks[...].async' er null eller ikke et object!" men bortset fra at den melder fejl virker det som det skal. Hvordan får jeg den fejl væk?
Avatar billede dr_chaos Nybegynder
06. januar 2007 - 14:01 #1
du skal bruge:
CallServer(vide,"");
Du definerer din CallServer til at bruge 2 argumenter men sender kun et med.

ReceiveServerData(arg, context)
Skal være
ReceiveServerData(arg)

og prøv lige med:
String cbReference = cm.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context", true);
Avatar billede c-sharp Nybegynder
06. januar 2007 - 15:29 #2
Hej dr_chaos, og tak for din kommentar, men det hjalp desværre ikke. Den virker i øvrigt fint i Firefox :/
Avatar billede dr_chaos Nybegynder
06. januar 2007 - 17:31 #3
Ok jeg kan lige prøve at vise dig det som jeg gjorde sidst jeg lavede icallback:
aspx:
function ModtagResultat(rValue)
    {
alert(rValue);
}

function HentTreeView(valuepath)
    {
        CallServer("TreeViewOgTblInfo", "");
    }


protected void Page_Load(object sender, EventArgs e)
    {
        //definerer den javascript metode som skal modtage svaret fra servere
        String cbReference =
        Page.ClientScript.GetCallbackEventReference(this,
        "arg", "ModtagResultat", "context",true);
        //definerer callbackscript.
        String callbackScript;
        callbackScript = "function CallServer(arg, context)" +
            "{ " + cbReference + "} ;";
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
            "CallServer", callbackScript, true);
    }
Avatar billede dr_chaos Nybegynder
06. januar 2007 - 17:32 #4
Muligvis kan if (!IsPostBack)
        { være noget som skaber problemer for dig.
Avatar billede c-sharp Nybegynder
06. januar 2007 - 17:42 #5
Af en eller anden grund var funktionen "Display a notice about every script error" i min IE blevet hakket af så jeg fik alle mulige script fejl hele tiden. Den er nu diablet også får jeg ingen fejl mere.

dr_chaos tak for din hjælp smid et svar så deler vi point hvis det er ok med dig?
Avatar billede dr_chaos Nybegynder
06. januar 2007 - 17:55 #6
Det er helt fint med mig :)
Avatar billede c-sharp Nybegynder
09. januar 2007 - 14:14 #7
super
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