Javascript не выполняется из ASP.NET - PullRequest
0 голосов
/ 01 июля 2011

Пожалуйста, посмотрите на этот код и выясните, почему он не работает. Я не получаю оповещение на веб-странице. Но console.writeLine под ним выполняется.

    private void PublishLoop()
    {
        while (Running)
        {          
            Thread.Sleep(5000);
            dtMessages = (String)(Cache.Get(key));
            if (dtMessages == null)
            {
                //publish here
                dtMessages = LoadMessages();
                System.Diagnostics.Debugger.Log(0,null,dtMessages);
                Page.ClientScript.RegisterStartupScript(this.GetType(),"ClientScript", "alert('hi');",true);
                Console.WriteLine(dtMessages);
            }
        }

     }

1 Ответ

0 голосов
/ 01 июля 2011

Редактировать: Вы можете зарегистрировать только один уникальный ключ для каждого ответа. Вы запускаете эту строку кода внутри цикла while, поэтому он продолжает регистрировать тот же ключ. Вам нужно давать ему уникальный параметр key каждый раз, когда вы вызываете эту функцию. В вашем случае, возможно, вы можете иметь счетчик в цикле и добавить его к вашей ключевой строке

int i = 0;
while (Running)
        {          
            Thread.Sleep(5000);
            dtMessages = (String)(Cache.Get(key));
            if (dtMessages == null)
            {
                //publish here
                dtMessages = LoadMessages();
                System.Diagnostics.Debugger.Log(0,null,dtMessages);
                Page.ClientScript.RegisterStartupScript(this.GetType(),"ClientScript" + i.ToString(), "alert('hi');",true);
                Console.WriteLine(dtMessages);
                i++;
            }
        }
...