gpt4 book ai didi

c# - 从 xml 数据源读取 url

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:19 27 4
gpt4 key购买 nike

我有一个已绑定(bind)到 GridView 的 xml 数据源。数据在 GridView 中很好地表示,但其中一列包含我想要导航到的 url 列表。我试过使用模板字段> 项目模板> <asp:hyperlink> (即 navigateurl=<%bind ("links")%> )但这会产生错误,因为它不是导航到 xml 文件中的 url,而是通过本地主机(xml 文件位置)路由。

我也尝试过通过标签绑定(bind)列,但这只是将 url 列表绑定(bind)为纯文本而不是可点击的链接。

我想我要么需要将标签转换为 url 格式,要么以某种方式更改超链接数据源的路由。任何帮助将不胜感激。

代码如下:

 <asp:GridView ID="gv1" runat="server" AutoGenerateColumns="false" AllowSorting="true">
<Columns>

<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lblid" runat="server" Text='<%#Bind("id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="Site Name">
<ItemTemplate>
<asp:Label ID="lblSiteName" runat="server" Text='<%#Bind("Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="Management Link">
<ItemTemplate>
<asp:HyperLink ID="hlManagement" Target="_blank" runat="server" Text="Click" NavigateUrl='<%# Bind("Link", "{0}") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>

</Columns>
</asp:GridView>

以及我如何在后面的代码中进行数据绑定(bind):

DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("~/XML Docs/Sites.xml"));
gv1.DataSource = ds;
gv1.DataBind();

这是 xml 片段:

<SiteLink>
<id> 1 </id>
<Name> Google </Name>
<Link> http://www.google.com </Link>
</SiteLink>

错误是:HTTP 错误 404.0 - 未找到。路由是:http://localhost:6482/ http:/www.google.com ,这是我认为出现错误的地方

最佳答案

我创建了一个 Gridview 并使用相同的 xml 文件进行了数据绑定(bind)。我用你的超链接控件改变了几件事,它工作得很好。它没有附加 http://localhost在 URL 前面。

如果这对您有用,请告诉我,如果没有,我会向您展示我的测试示例。

<asp:HyperLink ID="hlManagement" Target="_blank" runat="server" Text="Click"  NavigateUrl='<%# Bind("Link","{0}") %>'></asp:HyperLink> 

关于c# - 从 xml 数据源读取 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35573842/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com