【发布时间】:2018-02-22 14:21:15
【问题描述】:
我有以下 XML 文件:
<Employees>
<Employee>
<FirstName><a href='profile1.html'>Jon</a></FirstName>
<Age>22</Age>
</Employee>
</Employees>
我试图做的是让名字显示为一个超链接,将用户引导到个人资料页面(网页)。
用户在文本字段中输入名字并单击搜索按钮后,XML 文件的结果将通过网格视图显示。但是,名字(搜索结果)当前显示为纯文本。
以下是搜索按钮后面的代码:
XDocument document = XDocument.Load(@"C:\Users\Sammer\source\repos\MisaImports\MisaImports\data\Employee.xml");
var query = from r in document.Descendants("Employee")
where ((string)r.Element("FirstName").Value).Contains(txtSearch.Text) || ((string)r.Element("FirstName").Value).ToLower().Contains(txtSearch.Text)
select new
{
FirstName = r.Element("FirstName").Value,
//Age = r.Element("Age").Value
};
GridView1.DataSource = query;
GridView1.DataBind();
...以下描述了我如何设置网格视图:
<asp:GridView ID="GridView1" runat="server"
BorderWidth="1px"
CellPadding="2"
EnableModelValidation="True"
ForeColor="white"
GridLines="None"
AutoGenerateColumns="False"
EmptyDataText="No records Found">
<Columns>
<asp:TemplateField HeaderText="Keyword" ItemStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:HyperLink ID="link" runat="server" Text='<%# Eval("FirstName") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我的问题是,如何将名字显示为超链接?非常感谢您提供的任何帮助。
【问题讨论】:
-
您的代码发生了什么?超链接或如何获取名字?具体一点。
-
Rahul Singh - 目前,当单击搜索按钮时,我会从 XML 文件中获得预期的结果;例如,如果我输入 Jon 或存储在 XML 文件中的任何名称,则该名称将通过 Gridview 超链接列返回。现在要做的是让名称作为超链接返回,当单击第一个名称时,该超链接会将用户定向到相应的网站。
标签: c# asp.net xml linq hyperlink