如何在asp:超链接文本中显示某些选定的单词更大胆

时间:2014-06-20 05:14:39

标签: c# asp.net hyperlink

我的.aspx上有一个asp:repeater控件,在后面的代码中我将其数据源绑定到类型为KeyValuePair[]<Literal,String>的Collection。我选择了文字,以便我可以使用<strong><b> html标记在文字文本中包围所选单词。好吧,我成功了,但我找不到在asp:hyperlink的{​​{1}}文本部分显示文字文字的方法

我的.aspx代码如下:

asp:repeater

我需要有关如何在<asp:Repeater ID="repLinks" runat="server"> <ItemTemplate> <div onclick="window.open('<%# ((KeyValuePair<Literal,string>)Container.DataItem).Value %>','_blank');"> <div> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="<%# ((KeyValuePair<Literal,string>)Container.DataItem).Value %>" Text="<%#((KeyValuePair<Literal,string>)Container.DataItem).Key.Text %>" Font-Size='Large' ForeColor='Blue' Font-Names="Open Sans" CssClass="linkstyle" /> <br /> </div> </div> </ItemTemplate> </asp:Repeater> 中显示.Key.Text部分的帮助。

我添加了keyValuePair,如下所示:

asp:Hyperlink

此处 TryCurrentWindow 是KeyValuePair [],而char[] seperator = { ' ' }; String[] explodedString = Results1[index].Key.Split(seperator); List<String> Query= new List<string>(TextBox1.Text.Trim().ToLowerInvariant().Split(seperator,StringSplitOptions.RemoveEmptyEntries)); for (int i = 0; i < explodedString.Length; i++) { if (Query.Contains(explodedString[i].ToLowerInvariant()) == true) { explodedString[i] = "<strong>" + explodedString[i] + "<strong>"; } } Literal temp = new Literal(); temp.Text = explodedString.ToString(); TryCurrentWindow[index] = new KeyValuePair<Literal, string>(temp, Results1[index].Value); 是由explodedstring[]分割的文本字符串,我要修改,而Query []是我的keyWords列表

1 个答案:

答案 0 :(得分:0)

问题

  1. 您没有关闭此<strong>的{​​{1}}代码。

  2. 您只是在执行</strong>ToString()数组。

  3. 更新了这一行:

    string[]

    同时更改以下代码:

     explodedString[i] = "<strong>" + explodedString[i] + "</strong>";
    

    有了这个

    Literal temp = new Literal();
    temp.Text = explodedString.ToString();
    

    Literal temp = new Literal(); temp.Text = string.Join(" ", explodedString); 数组中修改索引。您需要加入数组才能获得修改后的string[]数组。

    更新了代码段

    string[]