469,903 Members | 2,171 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,903 developers. It's quick & easy.

How do you centrally store and include reusable javascript functions into .aspx pages?

Hi,

I would like to create a central storage place for javascript
functions that I can then access from any of my asp.net projects.

An example of what I need it for is as follows:

I have a class library that contains a function I use all the time (to
create a link around some text). That function in turn calls a
javascript function. Usually I would have put the javascript on the
page by using:

If (Not IsClientScriptBlockRegistered("clientScript")) Then
RegisterClientScriptBlock("clientScript", strJava)
End If

(where strJava = my javascript function etc)

Because IsClientScriptBlockRegistered is part of the Page class, I
can't do this in my class library.

The other option I thought of was including a javascript file as an
include on my .aspx page, but I would want the .js page to use in many
different projects, not just in one project.

Does anyone have any ideas as to what is the best way to store
reusuable javascript functions and how to access them?

Many thanks,

Nikki
Nov 17 '05 #1
3 3774
ni*****@talk21.com (Nikki) wrote in
news:8d**************************@posting.google.c om:
Hi,

I would like to create a central storage place for javascript
functions that I can then access from any of my asp.net
projects.

An example of what I need it for is as follows:

I have a class library that contains a function I use all the
time (to create a link around some text). That function in turn
calls a javascript function. Usually I would have put the
javascript on the page by using:

If (Not IsClientScriptBlockRegistered("clientScript")) Then
RegisterClientScriptBlock("clientScript", strJava)
End If

(where strJava = my javascript function etc)

Because IsClientScriptBlockRegistered is part of the Page class,
I can't do this in my class library.


Nikki,

Yes you can. Create a method that takes a System.Web.UI.Page as a
parameter. Here's an example in C#:

public class JavaScriptHelpers
{
public static void RegisterJavaScriptSource(
System.Web.UI.Page page,
string key,
string code)
{
if (!page.IsClientScriptBlockRegistered(key))
page.RegisterClientScriptBlock(key, code);
}
}
From your page, you can call this method like this:

// Use "Me" instead of "this" as the first parameter
// in VB.NET.
JavaScriptHelpers.RegisterJavaScriptSource(this,
"clientScript", strJava);
Hope this helps.

Chris.
-------------
C.R. Timmons Consulting, Inc.
http://www.crtimmonsinc.com/
Nov 17 '05 #2
Hi Chris,

Thanks for your prompt reply!

I have tried passing in the Page to the function as follows, but it
didn't like it.

Public Class Detail

Function MapText(ByVal PC As String, ByVal Page As System.Web.UI.Page)
As String

...

End Function
End Class

It says that System.Web.UI.Page is not defined. I think this is what you
meant in your reply.

Many thanks in advance for your help.

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 17 '05 #3
Of course! Many thanks Chris.
Nov 17 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

27 posts views Thread by Matt Kruse | last post: by
6 posts views Thread by Jamie | last post: by
7 posts views Thread by Matt Jensen | last post: by
2 posts views Thread by Ramon Rocha | last post: by
1 post views Thread by mtek | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.