Gridview column LinkButton JavaScript call question

Discussion in 'ASP .Net' started by ronc85, Mar 15, 2008.

  1. ronc85

    ronc85 Guest

    I'm using ASP.NET 2.0, C# and AJAX Extensions.

    I need help calling a JavaScript function on the Server. I need to
    come to the Server to execute a database call and then execute the
    JavaScript.

    I'm using a GridView column template containing a LinkButton. When the
    User clicks the linkbutton the processing is as follows:

    1. Make database call to get the URL.
    2. If found call a javascript routine to open the URL in a new Window
    (The URL is not part of my project).
    3. If not found call a javascript to open a popup window.

    How do I execute a JavaScript call on the Server? I need to execute a
    database call first to get the URL which I then pass to the following
    JavaScript routine.


    function OpenWindow(sURL, reqWindowName, reqWidth, reqHeight) {

    var leftPosition = (screen.width) ? (screen.width-reqWidth)/2 : 0;
    var topPosition = (screen.height) ? (screen.height-reqHeight)/
    2 : 0;

    var sOptions = "toolbar=no, " +
    "location=no, " +
    "directories=no, " +
    "status=yes, " +
    "menubar=no, " +
    "scrollbars=yes, " +
    "resizable=yes, " +
    "top=" + topPosition + ", " +
    "left=" + leftPosition + ", " +
    "width=" + reqWidth + ", " +
    "height=" + reqHeight;

    mywindow=open(sURL, reqWindowName, sOptions)
    mywindow.focus();
    }

    Thanks,
    Sal
     
    ronc85, Mar 15, 2008
    #1
    1. Advertisements

  2. Hello ,


    why not to make JS call before or after postback?!

    calling JS on server doesnt gave u want u want

    ---
    WBR,
    Michael Nemtsev [.NET/C# MVP] :: blog: http://spaces.live.com/laflour

    "The greatest danger for most of us is not that our aim is too high and we
    miss it, but that it is too low and we reach it" (c) Michelangelo
     
    Michael Nemtsev [MVP], Mar 16, 2008
    #2
    1. Advertisements

  3. ronc85

    ronc85 Guest

    Got the answer

    Page.ClientScript.RegisterStartupScript(this.GetType(),
    "OpenWindow", @"<script language='javascript'>OpenWindow('http://
    www.google.com', '', 800, 800);</script>");


    Thanks,
    Sal
     
    ronc85, Mar 17, 2008
    #3
  4. ronc85

    ronc85 Guest

    Got the answer

    Page.ClientScript.RegisterStartupScript(this.GetType(),
    "OpenWindow", @"<script language='javascript'>OpenWindow('http://
    www.google.com', '', 800, 800);</script>");


    Thanks,
    Sal
     
    ronc85, Mar 17, 2008
    #4
  5. That's deprecated syntax - use this instead: <script type="text/javascript">

    Or, even better, get ASP.NET to create the script tags for you so you don't
    have to worry about using outdated syntax:

    ClientScript.RegisterStartupScript(GetType(), "OpenWindow",
    "OpenWindow('http://www.google.com', '', 800, 800);", true);
     
    Mark Rae [MVP], Mar 17, 2008
    #5
  6. ronc85

    ronc85 Guest

    Cool. Tested your change and it looks good.

    Thanks,
    Sal
     
    ronc85, Mar 17, 2008
    #6
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.