Re: Dynamically include client-side javascript 2

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: bruce barker (nospam_brubar_at_safeco.com)
Date: 03/31/04


Date: Wed, 31 Mar 2004 10:08:59 -0800

its the HtmlForm control that renders client script, so if you do not have
one, it will not render. if you are not using forms, then you can use the
asp:placeholder and the HtmlGeneric control to output script.

   HtmlGenericControl myScript = new HtmlGenericControl("script");
   myScript.InnerText = "alert('hi')";
   myScriptPlaceHolder.Controls.Add(myScript);

-- bruce (sqlwork.com)

"Andrea Williams" <andreawil@hotmail.IHATESpam.com> wrote in message
news:#hOWf9zFEHA.2876@TK2MSFTNGP09.phx.gbl...
> So I'm using a tweaked version of the code below, but when my page doesn't
> have a form, the script doesn't seem to be registering. Is that by
design?
> and if so, is there another way to get a JS file to be registered when the
> page doesn't have a form?
>
> Andrea
>
> submitted by Hugo:
> You could read the script from disk instead of hard-coding it and
> register it as a client script instead of using Response.WriteLine,
> which always is a good idea. Because it is often used you could add
> the script to cache instead of reading it from disk every time.
>
> if(!Page.IsClientScriptBlockRegistered("myFunctionKey"))
> {
> FileInfo scriptFile=new FileInfo(MapPath("/scripts/float.js"));
>
> if(scriptFile.Exists)
> {
> StreamReader reader=new StreamReader(scriptFile.FullName,true);
> try
> {
> string script=string.Format(
> "<script language='javascript'><!-- {0} --></script>",
> reader.ReadToEnd());
>
> Page.RegisterClientScriptBlock("floatKey",script);
> }
> finally
> {
> reader.Close();
> }
> }
> }
>
> /Hugo
>
> On Mon, 29 Mar 2004 10:38:50 -0800, "Andrea Williams"
> <andreawil@hotmail.IHATESpam.com> wrote:
>
> >I have a debug component that writes certain info into a DIV so that I
can
> >see the things I need to debug the production server (It's only enabled
for
> >my IP address). I also have client-side JavaScript that floats this div
on
> >top of everything else in the browser and keeps it al the bottom of the
> >browser when I scroll it. My Debug component writes the JavaScript
needed
> >to start the Floating script.
> >
> >Right now, I have a component that all my pages inherit from that uses
this
> >Debug class and automatically generates the div and start code when the
> >Debug config is enabled. However, I still have to add a JavaScript
> <script>
> >tag to every page and I would like to be able to do this in the debug
class
> >so that I don't have to worry about adding the code
> ><script src="include/FloatDebug.js" language="javascript"></script>
> >
> >to each page.
> >
> >Is there a good way to add the js code from my class to the page without
> >doing a Response.write for every line? The js file code may change, so I
> >don't want to hard-code it into the class.
> >
> >Also pages may be in a different folders of the application, so simply
> >writing the about code in a response.write, won't necessarily work.
> >
> >Anyone have any ideas?? Is there a way to read the js file to the
browser,
> >or somehow include it from my class, relative to the class instead of the
> >page? Writing it to the browser is the only way I can think of getting
> what
> >I'm going to need, right now. However, I don't particularly like to
expose
> >the client side code on the page itself either, but I could live with
that
> >if it would accomplish my goal.
> >
> >Thanks in Advance!
> >Andrea
> >
>
>



Relevant Pages

  • HOWTO: Remotely debug classic ASP in Visual Studio 2005
    ... i am still no closer to being able to debug ... ASP not ASP.NET ... Connect to, or expand, the web-server running the web-site is you want ... Check the "Enable ASP server-side script debugging" checkbox. ...
    (microsoft.public.vsnet.debugging)
  • HOWTO: Remotely debug classic ASP in Visual Studio 2005
    ... i am still no closer to being able to debug ... ASP not ASP.NET ... Connect to, or expand, the web-server running the web-site is you want ... Check the "Enable ASP server-side script debugging" checkbox. ...
    (microsoft.public.vsnet.debugging)
  • MySQL+foreach loop.........roy
    ... I have doing some modification on my previous script. ... Retrieve file names, ... for the next step, test it, and debug. ... this code block and will not be defined outside the foreach loop. ...
    (perl.beginners)
  • Re: Dynamically include client-side javascript
    ... > register it as a client script instead of using Response.WriteLine, ... > the script to cache instead of reading it from disk every time. ... >>browser when I scroll it. ... My Debug component writes the JavaScript ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: [SLE] emailing myself when a ping command fails via crontab????
    ... but I have a perl script to monitor a webserver. ... First the script tries to ping it's DNS servers, ...
    (SuSE)