2010-11-22 84 views
0

我想我需要一些字符串替換功能的幫助。這一個不會取代,並給我同樣的事情回來。什麼可能是這個問題,夥計們?字符串。替換功能問題!

FormattedURl = mysite.com/Merchant.aspx?1=lkdflfdfgj3242 

lblclick.Text.Replace("<a class=linkclass href=http://www.mysite.com/ target=_blank > </a>", 
"<a class=linkclass href=" + FormattedURL1 + "target=_blank ></a>"); 

預先感謝您!

回答

8

您需要將文本分配回變量或控件。

替換函數將返回一個字符串,而不是更改當前實例。

lblclick.Text = lblclick.Text.Replace("<a class=linkclass href=http://www.mysite.com/ target=_blank > </a>", 
"<a class=linkclass href=" + FormattedURL1 + "target=_blank ></a>"); 
1

它不修改現有實例,它會返回一個帶有更改的實例。

從MSDN ...

此方法不會修改當前實例的值 。相反,它 返回一個新字符串,其中所有 出現的oldValue被newValue替換爲 。

因此,您需要存儲返回的值並將其設置在您的標籤上,或者將您的標籤設置爲返回值。

4

字符串是不可變的,所以字符串上的所有函數都返回新的實例。因此要查看功能的效果,您必須分配結果。

lblclick.Text = lblclick.Text.Replace("<a class=linkclass href=http://www.mysite.com/ target=_blank > </a>", "<a class=linkclass href=" + FormattedURL1 + "target=_blank ></a>"); 

Replace文檔:

返回所有 出現指定字符串的 當前實例與 另一指定字符串替換一個新的字符串。

+0

謝謝Brian :) – Ram 2010-11-22 18:33:33

1

不要忘了string是c#是不可變的。因此,Replace沒有辦法改變它。相反,它會在替換完成後返回一個新副本。