3

Currently, I am calling my JavaScript functions using:

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(), "$(function(){$.jGrowl('Hello World');});", true);

It works perfectly! Even using master page and update panel it works as expected.

However, when I try to do the same in a user control that is embedded in a page that is being called with a jQuery thickbox, it does not work!

Does anyone know how to solve this issue?

2
  • Where in your code is this call happening? Page_Load()? Commented Sep 8, 2011 at 15:04
  • When a server button is clicked Commented Sep 8, 2011 at 15:37

3 Answers 3

4

This solved the problem:

ScriptManager.RegisterClientScriptBlock(this.Page, typeof(UpdatePanel), Guid.NewGuid().ToString(), "$(function(){$.jGrowl('Hello World');});", true);

As it was mentioned by @Joel, there was a problem with the type I was using as a parameter for the function.

Note: If you're using a thickbox, probably you are not using the master page in the page that contains the user control. Therefore, jQuery needs also to be referenced in that page since the master page is not partaking in the thickbox.

Sign up to request clarification or add additional context in comments.

Comments

2

It looks to me like what you have is incompatible with respect to types. When you include this in an actual page this portion of the code: (this, typeof(Page),... works because you're dealing with a Page. Once you put it in a UserControl you're no longer dealing with a Page.

Something you can try is adding a public property to your user control:

public System.Web.Page ParentForm { get; set; }

In the page that includes the control include this code either in the Page_InitComplete or Page_Load event:

myUserControl.ParentForm = this;

Then you can modify your scriptmanager statement to be:

ScriptManager.RegisterClientScriptBlock(ParentForm, typeof(Page), Guid.NewGuid().ToString(), "$(function(){$.jGrowl('Hello World');});", true);

Comments

0

Have you ensured that your user control is calling databind()? I've experienced a similar issue before.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.