2012-02-15 88 views
1

我將有一個列表視圖與數據庫綁定的鏈接。我想追蹤該鏈接何時被點擊。這將是我可以告訴哪些鏈接被點擊最多。我試着用linkbutton做這件事,但遇到了訪問時顏色不變的問題。我懷疑我可以做超鏈接,因爲超鏈接沒有打到服務器。有關如何做到這一點的任何建議。保存時間點擊超鏈接/ linkbutton

這是我怎麼沒了LinkBut​​ton

<asp:ListView ID="lstvTopTen" runat="server"> 
    <ItemTemplate> 

     <tr> 
      <td width="100%"> 
       <asp:LinkButton ID="lbtnUrlLink" runat="server" Text='<%# Bind("NewsTitle") %>' 
        CommandArgument='<%# Bind("NewsUrl") %>' onclick="lbtnUrlLink_Click" 
        OnDataBinding="lbtnUrlLink_DataBinding" CssClass="newslink" /> 
       <asp:Label ID="Label1" runat="server" Text='<%# Bind("NewsDescriptionDisplay") %>' /> 
      </td> 
     </tr> 

    </ItemTemplate> 
</asp:ListView> 

這裏是我的CSS

.newslink 
{ 
    display:block; 
    margin: 15px 0 0 0; 
    text-decoration: none; 
    font-size:1.2em; 
    line-height: 1.8em; 
    border-bottom:1px solid #CCC; 
} 

.newslink:visited 
{ 
    color: Red; 
} 

回答

0

因此,這是我怎麼會做這件事。

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Bind("NewsUrl") %>' Target="_blank" 
        onclick="countClick(this.href);" CssClass="newslink" Text='<%# Bind("NewsTitle") %>' /> 



<script type="text/javascript" language="javascript"> 

    function countClick(name) { 

     PageMethods.CountClick(name); 

    } 

</script> 
-1

看在這個崗位的答案。你非常接近。

.newslink a:visited 
{ 

} 

Link

+0

我不能得到這個工作? – 2012-02-15 22:12:19

+0

我可以懸停工作,但我無法訪問或活動。懸停只適用於做「.newslink:懸停」其他人不以我的方式工作。 – 2012-02-15 22:18:37

1

的問題是,當你創建一個LinkBut​​ton,呈現的代碼將有一個javascript函數調用,而不是一個URL到另一個頁面。所以瀏覽器不會將這些存儲到它的歷史記錄中。另外:訪問僞類不會在這種情況下工作,因爲它只適用於網址不是JavaScript函數調用!

爲了解決這個問題,您可能需要創建一個新的javascript函數來捕獲用戶何時點擊鏈接,然後更改樣式。

例如:

<script> 
function ChangeLinkColour() 
{ 
    document.getElementById('myLink').style.color = "Black"; 
    return false; 
} 
</script> 

你的LinkBut​​ton看起來就像這樣:

<asp:LinkButton ID="myLink" runat="server" Text="Click me" OnClientClick="return ChangeLinkColour();" CssClass="a"></asp:LinkButton> 
+0

查看更詳細的信息後,您完全正確! – Etch 2012-02-16 16:23:53

+0

用JavaScript代碼將一個超鏈接添加到數據庫以獲得點擊是否更具可行性?如果鏈接保留點擊顏色,這將是很好的。如果我這樣做的JavaScript方法,它不會保留它。 – 2012-02-16 21:07:55

+0

那麼如果你必須保持訪問顏色,那麼你可以將該鏈接按鈕更改爲超鏈接。然後在href中添加一個querystring值到最後。因此,在你的頁面加載中檢查查詢字符串值並增加鏈接在數據庫中被點擊的時間。正如你已經注意到這可能不會給你點擊的確切次數,但... – skub 2012-02-16 22:47:30