[英]How to display certain selected words bolder in asp:hyperlink text
我在.aspx上有一个asp:repeater控件,在后面的代码中,我将其数据源绑定到KeyValuePair[]<Literal,String>
类型的Collection上。 我选择文字,以便可以用<strong>
或<b>
html标签将文字中的所选单词括起来。 好吧,我成功地做到了,但是我没有找到一种在asp:repeater
的asp:hyperlink
的Text部分显示文字文本的方法。
我的.aspx代码如下:
<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>
我需要有关如何在asp:Hyperlink
显示.Key.Text
部分的帮助。
我添加了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);
这里TryCurrentWindow是KeyValuePair [], explodedstring[]
是由'' char
拆分的文本字符串,我想修改,而Query []是我的keyWords列表
问题 :
您没有关闭<strong>
标签</strong>
。
您只需对string[]
数组执行ToString()
。
更新了这一行:
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[]
数组。
更新的代码段 :
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>"; //changed
}
}
Literal temp = new Literal();
temp.Text = string.Join(" ", explodedString); //changed
TryCurrentWindow[index] = new KeyValuePair<Literal, string>(temp, Results1[index].Value);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.