Inquiridor
Problemas para enxergar uma lib do jquery com ScriptManager.RegisterStartupScript

Pergunta
-
Olá, atualmente mexo com aplicações web-form, porem trabalhando exclusivamente com javascript, e comunicação com handlers. Vou te confessar pra quem ta acostumado a mexer com code-behind , eu to ralando pra caramba especialmente para ativar plugins jquery pelo c#.
Estou mexendo com uma biblioteca de ajax reverso para montar um sistema de "chat" basicamente, eu pego todos os grupos que o usuário pertence e faço com que cada grupo seja um canal de comunicação e sobrescrito o canal a uma notificação. Caso alguem tenha interesse em conhecer o link é esse aqui: http://pusher.com/docs é um plugin jquery que voce adiciona no projeto e segue a documentação.
Meu problema é o seguinte, eu estou tendo que chamar o plugin para renderizar um alert do jquery usando o :
ScriptManager.RegisterStartupScript(this, typeof(Page), "", Convert.ToString(script), true);
Ou seja, estou renderizando no C# dois scripts, o primeiro da biblioteca pusher, e o segundo do alert customizado, para que fique visualmente mais atraente e funcional do que um alert horroroso do javascript. Eu consigo alcançar a lib do pusher, mas do alert nao.
Aqui segue um trecho do código, para facilitar a visualizaçao:
var user = Convert.ToInt32(Session["USERID"]); // this.userHide.Value = user.ToString(); this.userProfile.Value = Session["MODE"].ToString(); this.consumerProfile.Value = Session["CONSUMERPROFILE"].ToString(); // using (var service = new ESys.Intranet.Services.ConsumerService()) { this.appUserServicesPortfolio.Visible = service.HasProviderServices(Convert.ToInt32(Session["CONSUMERID"]), user); } using (var service = new ESys.Intranet.Services.Dashboard.SolutionGroupService()) { List<string> userGroups = new List<string>(); ESys.Intranet.Domain.Types.Dashboard.AllGroupsInfo all = new ESys.Intranet.Domain.Types.Dashboard.AllGroupsInfo(); all.GroupsInfo = service.GetInformationOfAllGroups(user); foreach (var info in all.GroupsInfo) { if (info != null) userGroups.Add(info.Code.ToString()); } HttpContext.Current.Session.Add("Channels", userGroups); StringBuilder script = new StringBuilder(); script.Append(" \n \n"); script.Append("var activeUser = '" + (string)HttpContext.Current.Session["ActiveUser"] + "'; \n"); foreach (var info in userGroups) { script.Append("\n var y" + info.ToString() + " = new Pusher('15d1ed622fb19f16e98b'); \n"); script.Append("\n var x" + info.ToString() + " = y" + info.ToString() + ".subscribe('" + info.ToString() + "'); \n \n \n "); script.Append("\n x" + info.ToString() + ".bind('notificacao', function(data) { \n if( data != null){ \n $.msgBox({ \n title: 'Notificação', \n content: data.message \n }); \n} \n}); \n"); } script.Append(" \n \n "); ScriptManager.RegisterStartupScript(this, typeof(Page), "", Convert.ToString(script), true);
Quando chega no
$.msgBox({
o script acusa que $.msbox is not a function:
Esses daqui sao as duas referencias que uso para chamar o puhser e o alert
<script src="http://html5-realtime-push-notifications.eu01.aws.af.cm/src/PusherNotifier.js" type="text/javascript"></script>
<script src="/Acto/Common/Scripts/jquery.msgBox.js" type="text/javascript"></script>Estou inserindo essas referencias na pagina .aspx mesmo, porém no code-behind o segundo script ele nao alcança. Alguem teria qalguma sugestao de como debugar para que eu consiga enxergar esse retorno
Todas as Respostas
-
Para debugar, é só dentro do browser. No Chrome, aperte F12 ou Clique com direito e escolha Inspecionar Objeto. Aí em console, ele vai te dizer onde está o erro(No canto superior direito do console) e há outras opções de debug, como, Element, Source, Network e etc... Há tutoriais de como usar o debug do Chrome.
-