2011-07-12 82 views
1

我需要做一個HyperLink眨眼(不幸的是,客戶需求),所以我決定使用this從後面的代碼調用jquery

有人能指出我如何從後面的代碼(C#)調用此方向的正確方向嗎?

到目前爲止,我已經試過:

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); 

..to無濟於事

+2

爲什麼不把javascript放到你的html中?你需要腳本標籤中的charset屬性?你需要做'$(document).ready();'當你想讓你的選擇器工作時 – Rumplin

+0

從來沒有真正使用/需要的JavaScript(我只是開始web開發)。在我的代碼中,我需要遍歷一個集合,並只讓某些超鏈接閃爍。 – btsyir

+0

然後爲它們分配一個CSS類並使用jQuery選擇器來查找具有該類的項目。 – GalacticCowboy

回答

2

RegisterClientScriptBlockRegisterStartupScript周圍試圖亂是痛苦的,是除了一些極端關閉雷達邊緣完全沒有必要案例。不僅難以維護,而且難以理解。在這種情況下,簡單直接的方法對你來說會更好。

在你的頁面的<head>塊,添加以下內容:

<!-- 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> 

然後,在你的頁面的主體,在要閃爍的超鏈接添加CssClass="blinky"

<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 /> 

你也可以使用一個asp:Repeater,代碼隱藏,等來構建你的超鏈接的項目,就像只要你設置你想要閃爍的那些CssClass屬性。

相關問題