Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Προσθήκη Javascript από τον Server

Îåêßíçóå áðü ôï ìÝëïò leukonas. Τελευταία δημοσίευση από το μέλος vlinakis στις 10-02-2011, 17:21. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-02-2011, 16:30 63170

    Προσθήκη Javascript από τον Server

    Καλησπέρα σε όλους,

     προσπαθώ να κάνω inject μεγάλο(το μεγάλο είναι σχετικό) όγκο javacript από τον server επάνω σε μια σελίδα asp. Αυτή τη στιγμή το κάνω με το RegisterStartupScript αλλά με έχει κουράσει η φάση με τα escape characters κλπ. Έχω δει πως κάποιοι χρησιμοποιούν μια τεχνική και στη σελίδα υπάρχει ένα section τέτοιας μορφής  //<![CDATA[   κώδικας    //]]> .Απο τα λίγα που μπόρεσα να καταλάβω είναι πως πρόκειται για xml. Αυτό που δεν μπόρεσα να βρώ είναι πως να την γράψω επάνω στη σελίδα.

    Χρησιμοποιώ Visual Studio 2008 , c# , .net framework 3.5  και το λειτουργικό μου είναι Windows XP

     

    Ευχαριστώ. 


     

  •  10-02-2011, 16:52 63173 σε απάντηση της 63170

    Απ: Προσθήκη Javascript από τον Server

    Αν το javascript είναι στατικό μπορείς πολύ απλά να το σώσεις σε ένα .js αρχείο και στο script tag να δώσεις στο src attribute τη θέση του αρχείου. Αν κάποια κομμάτια του μόνο δημιουργούνται δυναμικά, μπορείς να ξεχωρίσεις τα στατικά κομμάτια σε ένα js και να τα κάνεις αυτά link. Αν δημιουργείται όλο δυναμικά ... μάλλον πρέπει να το ξανασκεφτείς γιατί κάτι πάει στραβά.

    Εδώ που τα λέμε, θα μπορούσες τα στατικά κομμάτια να τα βάλεις μέσα στην HTML σελίδα, με ένα κλασσικό script tag αντί για το code-behind. Δεν υπάρχει λόγος να φτιάχνεις μεγάλα scripts μέσα στον κώδικα.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-02-2011, 17:01 63175 σε απάντηση της 63173

    Απ: Προσθήκη Javascript από τον Server

    Είναι κάποια script τα οποία προσθέτουν επάνω σε bing maps σημεία και πληροφορίες.Οπότε προσπαθώ να φτιάξω έναν τρόπο επικοινωνίας μεταξύ τις c# και των πληροφοριών που φέρνω από τη βάση δεδομένων και να αποτυπώσω αυτή την πληροφορία πάνω στον χάρτη. Αναγκαστικά λοιπόν πρέπει να γράψω λίγο javascript από τον server. Επειδή από ότι βλέπω θα χρειαστεί να γράψω και άλλα πραγματάκια προσπαθώ να βρω έναν ωραίο τρόπο να κάνω inject Javascript. Γενικά αυτό "Αν κάποια κομμάτια του μόνο δημιουργούνται δυναμικά, μπορείς να ξεχωρίσεις τα στατικά κομμάτια σε ένα js και να τα κάνεις αυτά link" το έχω κάνει απλά και πάλι είναι αρκετή η δυναμική js.
  •  10-02-2011, 17:06 63176 σε απάντηση της 63175

    Απ: Προσθήκη Javascript από τον Server

    Αν υπάρχει ένα starting point (π.χ. μια function που να ξεκινάει στο startup) τότε θα μπορούσες να κάνεις RegisterStartupScript μόνο το script της κλήσης αυτής της function, και τα υπόλοιπα να τα βάλεις μέσα σε ένα ωραίο js και να τα κάνεις inject στο HEAD. Αν δεν υπάρχει, μήπως θα μπορούσες μεγάλο μέρος της δυναμικής Js να τη βάλεις σε ένα function, μετά σε ένα js, και να τη φωνάζεις πλέον ως function; 

    Κώδικα για inject στο head μπορείς να έχεις κάνοντας κάτι όπως αυτό στο page_load:

    HtmlGenericControl Include = new HtmlGenericControl("script");
    Include.Attributes.Add("type", "text/javascript");
    Include.Attributes.Add("src", "/scripts/jquery.fancybox-1.3.4.js");
    this.Page.Header.Controls.Add(Include);




    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  10-02-2011, 17:08 63178 σε απάντηση της 63175

    Απ: Προσθήκη Javascript από τον Server

    leukonas:
    Αναγκαστικά λοιπόν πρέπει να γράψω λίγο javascript από τον server.

    Ωχ, άργησα να το δω πριν γράψω το post. Μάλλον λοιπόν δεν ισχύει το προηγούμενο post μου για αυτό που θέλεις να κάνεις. Από ο,τι κατάλαβα θέλεις να "συνθέσεις" τη javascript server-side και μετά να τη δώσεις.


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  10-02-2011, 17:13 63179 σε απάντηση της 63178

    Απ: Προσθήκη Javascript από τον Server

    Μήπως το post αυτουνούνε δώθε μπορεί να βοηθήσει λίγο με τα escape chars; Ξέρω, δεν λύνει το θέμα, αλλά κινείται προς αυτή την κατεύθυνση.


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  10-02-2011, 17:19 63181 σε απάντηση της 63179

    Απ: Προσθήκη Javascript από τον Server

    Ωραίο το post που παρέθεσες, θα το κοιτάξω. Αυτό που έχω κάνει είναι το εξής. Εχω γράψει 3 functions static επάνω στη σελίδα.Αυτές πάιρνουν κάποιες παραμέτρους τις οποίες τις φέρνω απο τη βάση και πρέπει να τις περάσω στη σελίδα.Οπότε τις κλήσεις για αυτές τισ functions τις κάνω απο τη c# μαζί με τις παραμέτρους που θέλω.Επειδή όμως τώρα θέλω να κάνω και άλλα πραγματα και απαιτούν javascript δυναμικό ψάχνω να βρω τι πάιζει με το cdata. Εχω δει για παράδειγμα πως η σουίτα της Telerik κάνει inject με αυτό τον τρόπο τα javascript επάνω στη σελίδα.Τες πα όποιαδήποτε επιπλέον βοήθεια είναι δεκτή.

    Ευχαριστώ 

  •  10-02-2011, 17:21 63182 σε απάντηση της 63179

    Re: Απ: Προσθήκη Javascript από τον Server

    Καλησπέρα,

    Εγώ θα πρότεινα δύο λύσεις.

    Α.
    Βάλε στον HTML κώδικά σου μια, δύο ή παραπάνω global javascript vars ως εξής:
    <script ....>
     var GlobalVar1 = "<%=Var1%>";
     var GlobalVar2 = "<%=Var2%>";
     var GlobalVar3 = "<%=Var3%>";
    </script>

    μετά δήλωσε στο code behind τα τρία παραπάνω variables ως public string
    π.χ.
    public string Var1 = "";
    public string Var2 = "";
    public string Var3 = "";

    και γέμισε τα παραπάνω strings στο σημείο του κώδικά σου που θα έχει πάρει τα data που θες. Έτσι, έχεις κάποια ήδη δημιουργημένα glabal JS variables που μπορείς να τα χρησιμοποιήσεις στον υπόλοιπο JS κώδικά σου.

    Β. Αν αυτό δεν σε καλύπτει ίσως θα μπορούσες να φτιάξεις μια static method που θα επιστρέφει σε JSON τα αποτελέσματα που θες την οποία θα την καλείς ως PageMethod με Ajax. Έχοντας το JSON object με τα data σου μπορείς να τα κάνεις manipulate όπως θες.

    η Β λύση είναι πιο σύνθετη και μάλλον δεν έχεις λόγο να το κάνεις όλο αυτό.

    Βασίλης

     

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems