2011-07-12 5 views
1

je dois faire un clin d'oeil HyperLink (exigence de client malheureusement) j'ai donc décidé d'utiliser this.Invoquer jquery de code derrière

Quelqu'un pourrait-il me diriger dans la bonne direction sur la façon d'invoquer ce à partir du code derrière (C#)?

Jusqu'à présent, j'ai essayé:

private string script1 = "<script type=\"text/javascript\" charset=\"utf-8\" src=\"javascripts/jquery.blink.min.js\"></script>"; 
private string script2 = "$(\".selector\").blink();"; 
ScriptManager.RegisterClientScriptBlock(e.Item.FindControl("hlink"), e.Item.FindControl("hlink").GetType(), 
        "BlinkingScript", script1, false); 
ScriptManager.RegisterStartupScript(e.Item.FindControl("hlink"), 
                e.Item.FindControl("hlink").GetType(), 
                "BlinkingScript", script2, false); 

..pour sans résultat

+2

Pourquoi ne mettez-vous pas le javascript dans votre code html? vous avez besoin de l'attribut charset dans votre balise de script? vous devez faire '$ (document) .ready();' quand vous voulez que votre sélecteur fonctionne – Rumplin

+0

jamais vraiment utilisé/javascript nécessaire (je commence juste le développement de Web). dans mon code que je dois parcourir une collection et seulement s'assurer clignotent hyperliens. – btsyir

+0

ensuite leur attribuer une classe CSS et utiliser un sélecteur jQuery pour trouver les éléments qui ont cette classe. – GalacticCowboy

Répondre

2

Essayer de mess avec RegisterClientScriptBlock et RegisterStartupScript est douloureuse, et est tout à fait inutile, sauf dans certains bord extrêmement hors radar cas. Non seulement c'est extrêmement difficile à maintenir, mais c'est aussi difficile à comprendre. Et dans ce cas, l'approche simple et directe fonctionnera beaucoup mieux pour vous.

Dans le bloc <head> de votre page, ajoutez ce qui suit:

<!-- Assuming that you've already got jQuery registered... --> 
<script language="javascript" type="text/javascript" src="Scripts/jquery.blink.min.js"></script> 
<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     // Couple of notes here: 
     // ".blinky" means that it will match anything with a CSS class of "blinky". This can be anything, not just hyperlinks. 
     // Also, I'm adding an optional object parameter to the blink() method that allows me to specify parameters that alter its behavior. 
     // In this case, if I just called blink() it would only blink 3 times, but I'm overriding that to blink 5 times. 
     $(".blinky").blink({blinks: 5}); 
    }); 
</script> 

Ensuite, dans le corps de votre page, ajoutez le CssClass="blinky" sur les liens que vous voulez à clignoter.

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="#" Text="Not Blinky Link" /><br /> 
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="#" Text="Not Blinky Link" /><br /> 
<asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="#" Text="Blinky Link" CssClass="blinky" /><br /> 
<asp:HyperLink ID="HyperLink4" runat="server" NavigateUrl="#" Text="Not Blinky Link" /><br /> 
<asp:HyperLink ID="HyperLink5" runat="server" NavigateUrl="#" Text="Blinky Link" CssClass="blinky" /><br /> 
<asp:HyperLink ID="HyperLink6" runat="server" NavigateUrl="#" Text="Blinky Link" CssClass="blinky" /><br /> 

Vous pouvez également utiliser un asp:Repeater, code-behind, etc. pour construire vos articles avec un lien hypertexte, aussi longtemps que vous définissez la CssClass sur celles que vous voulez à clignoter.

Questions connexes