2012-07-13 48 views
2

我被困在一些東西上:我在運行時創建了一個具有導航URL的超鏈接。我需要定義它的點擊事件,以便我可以將一些值保存到數據庫中。我在下面做了一些事情,但沒有成功。如何定義超鏈接點擊事件?

你能否提出一個替代方案?

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) { 
    if (e.Item is GridDataItem) { 
    HyperLink link = (HyperLink)gridDataItem["ContentTitle"].Controls[0]; 
    link.ForeColor = System.Drawing.Color.Navy; 
    link.ToolTip = Common.grdTextCell(gridDataItem["ContentSummaryDescr"].Text); 
    link.NavigateUrl = "~/SomePath/" + gridDataItem["ContentName"].Text; 
    link.Target = "_blank"; 
    link.Attributes.Add("onclick", "document.getElementById('" + 
     dummyBtn.ClientID + "').click();"); 
    } 
} 

protected void dummyBtn_Click(object sender, EventArgs e) { 
} 

但按鈕點擊事件沒有觸發,它只是導航到URL。請做什麼?

回答

1

相關聯沒有相應的Click事件處理程序你想要一個LinkBut​​ton,不是超鏈接。

這裏有讓你開始一些示例代碼(未測試)

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) 
{ 
    if (e.Item is GridDataItem) 
    { 
     LinkButton link = (LinkButton)gridDataItem["ContentTitle"].Controls[0]; 
     link.Click += dummyBtn_Click; 
    } 
} 

protected void dummyBtn_Click(object sender, EventArgs e) 
{ 
    Response.Write("dummyBtn_Click"); 
} 
3

對於服務器端觸發事件,您將需要一個LinkButton而不是HyperLink

LinkButtonClick事件處理程序,您可以使用。

HyperLink僅重定向,並有服務器端代碼

+0

是那義不能使用LinkBUtton..the上面的代碼實現,現在的點擊事件被解僱,但現在我無法確定哪一行被稱爲這樣我可以插入值.. ..and不幸的是我的RadGrid1_ItemDataBound也沒有射擊,我很卡住..........幫助我的上帝.. – NoviceToDotNet 2012-07-13 11:07:53

1

您應該使用鏈接按鈕。只需在您的代碼中將您的超鏈接替換爲LinkBut​​ton即可。

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) { 
    if (e.Item is GridDataItem) { 
    LinkButton link = (LinkButton)gridDataItem["ContentTitle"].Controls[0]; 
    link.ForeColor = System.Drawing.Color.Navy; 
    link.ToolTip = Common.grdTextCell(gridDataItem["ContentSummaryDescr"].Text); 
    link.NavigateUrl = "~/SomePath/" + gridDataItem["ContentName"].Text; 
    link.Target = "_blank"; 
    link.Click += dummyBtn_Click; 

    } 
} 

protected void dummyBtn_Click(object sender, EventArgs e) { 
} 
+0

鏈接不支持NavigationUrl – NoviceToDotNet 2012-07-13 10:23:26