2009-08-19 167 views
0

我有一個包含一些html的變量。我現在只是把它放在頁面上的文字上,而且它工作正常。用鏈接替換html中的文本

現在讓我們說每次出現「FISH」這個詞時,我想用一個可以做某事的鏈接替換這個詞。

我可以用正則表達式找到FISH這個詞的所有出現,並用一些東西(html,文本)替換它。我也知道如何使用命令名等linkutton等

但我怎麼能把linkbutton在html中並顯示它?

是否有另一種解決這個問題的方法,我應該看看?

+0

會有什麼LinkBut​​ton的呢? – Lazarus 2009-08-19 16:09:22

+0

不只是重定向到一個鏈接,我懷疑是你在釣魚。 :) 這是一些內容管理,用戶需要插入「購買」鏈接的能力。 我可能會考慮一個解決方案,我只是用另一個頁面的鏈接來替換,它只是購買東西 - 從那時起我可以用純html代替 - 而不是一個linkbutton。 – Kjensen 2009-08-19 16:22:45

回答

1

您必須將您的文本解析爲一組控件。

這裏有一個簡單的解決方案(中的IndexOf代替正則表達式)

string text = "some html FISH some html"; 
string fish = "FISH"; 

List<Control> controls = new List<Control>(); 
int lastIndex = 0; 
int index = 0; 
while((index = text.IndexOf(fish, index)) != -1) 
{ 
    string s = text.Substring(lastIndex, index); 
    LiteralControl literal = new LiteralControl(s); 
    controls.Add(literal); 

    LinkButton lb = new LinkButton(); 
    lb.CommandName = "whatever"; 
    controls.Add(lb); 
} 

foreach(Control c in controls) 
{ 
    somePanel.Controls.Add(c); 
} 

名單是沒有必要的,因爲你可以直接添加到面板控件集合

+0

謝謝。 我決定走另一條路線,詳見我對原始任務的評論。 – Kjensen 2009-08-19 18:19:30