【问题标题】:how to show xml data and find which one the user clicked on?如何显示 xml 数据并找到用户点击了哪一个?
【发布时间】:2014-06-16 10:38:34
【问题描述】:

我正在使用 asp.net 并且有一个如下所示的 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="Style.css"?>
<CATALOG>
<note>
    <TITLE>Tutorial</TITLE>
    <Tut>
        <Episode>Episode 1</Episode>
        <Link>http://www.link1.com</Link>
    </Tut>
    <Tut>
        <Episode>Episode 2</Episode>
        <Link>http://www.link2.com</Link>
    </Tut>
    <Tut>
        <Episode>Episode 3</Episode>
        <Link>http://www.link3.com</Link>
    </Tut>
    <Tut>
        <Episode>Episode 4</Episode>
        <Link>http://www.link4.com</Link>
    </Tut>
</note>
</CATALOG>

我正在尝试在 data.aspx 中显示 xml 数据 我只想垂直显示剧集,例如: 第1集 第 2 集 第 3 集 第 4 集 所以我的第一部分问题是,我必须使用 gridview 还是可以使用其他任何东西? 对于第二部分,当用户单击第 1 集时,我想获取它的链接,在本例中为“http://www.link1.com”(但我没有在此处显示)并将其设置为字符串变量在代码后面或会话中!我该怎么做?

【问题讨论】:

    标签: c# javascript asp.net xml


    【解决方案1】:

    Answer1::如果你只需要使用两个字段 Episode number 和 Link,我建议使用中继器控件,因为它是一个轻量级控件。

    在线示例:MSDN Repeater Control

    答案 2: 将 XML 反序列化为您的类对象并将其分配为中继器的数据源。并在中继器中添加链接按钮并将设置文本值显示为剧集并在 href 中设置链接。

    在线示例:XML Deserialization and Serialization

    【讨论】:

    • 感谢您的回复。中继器听起来是个好主意,但我认为不适合使用它,但第二部分,即使我使用链接按钮,我也无法获取 url 并将其传递给变量!从技术上讲,我不想将用户重定向到链接,我只想获取链接并将其分配给变量!
    • 哦,好的。因此,在这种情况下,您可以使用标签和文本框。标签将显示剧集的名称,文本框将显示该剧集的 url。如果对您有帮助,请不要忘记将其标记为答案。
    • 你的意思是这样的: "> 。我收到以下错误:解析器错误描述:解析服务此请求所需的资源期间发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。这是红色部分:">
    【解决方案2】:

    对于您的第二部分,我更喜欢使用 xml 到 linq:

      XElement myXML = XElement.Load(@"C:\Users\Admin\Desktop\episode.xml");
      var tutDescendantsList = (from ep in myXML.Descendants("Tut")
                                select new { Episode = ep.Element("Episode").Value, Link = ep.Element("Link").Value }).ToList();
    

    tutDescendantsList 获取元素:

      string myfirstEpisode = tutDescendantsList[0].Episode;
      string myfirstLink = tutDescendantsList[0].Link;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-13
      • 2017-08-04
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      相关资源
      最近更新 更多