我有一个包含一些html的变量。我目前只是将它放在页面上的文字中,它工作正常。
现在让我们说每次出现“FISH”这个词时,我想用一个做某事的链接按钮替换这个词。
我可以用正则表达式找到FISH这个词的所有出现,并用某些东西替换它(html,text what)。我也知道如何用命令名等制作linkutton。
但是如何将链接按钮放在html中并显示它?
是否有其他解决此问题的方法,我应该研究一下?
答案 0 :(得分:1)
您必须将文本解析为一组控件。
这是一个简单的解决方案(IndexOf而不是Regex)
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);
}
列表不是必需的,因为您可以直接添加到面板控件集合