ASP.NET Web Forms XML 文件

ASP.NET 可以绑定 XML 文件到列表控件

一个 XML 文件

这里有一个名为 "countries.xml" 的 XML 文件

<?xml version="1.0" encoding="UTF-8"?>
<countries>
    <country><text>Norway</text><value>N</value></country>
    <country><text>Sweden</text><value>S</value></country>
    <country><text>France</text><value>F</value></country>
    <country><text>Italy</text><value>I</value></country>
</countries>

查看这个 XML 文件: countries.xml

绑定 DataSet 到 List 控件

  1. 首先,导入 "System.Data" 命名空间

    我们需要该命名空间与 DataSet 对象一起工作

    把下面这条指令包含在 .aspx 页面的顶部

    <%@ Import Namespace="System.Data" %>
    
  2. 接着,为 XML 文件创建一个 DataSet,并在页面第一次加载时把这个 XML 文件载入 DataSet

    <script runat="server">
        sub Page_Load
            if Not Page.IsPostBack then
                dim mycountries=New DataSet
                mycountries.ReadXml(MapPath("countries.xml"))
            end if
        end sub
    </script>
    

    为了绑定数据到 RadioButtonList 控件,首先要在 .aspx 页面中创建一个 RadioButtonList 控件(不带任何 asp:ListItem 元素)

    <!DOCTYPE html>
    <meta charset="utf-8" />
    <form runat="server">
        <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
    </form>
    

    然后添加创建 XML DataSet 的脚本,并且绑定 XML DataSet 中的值到 RadioButtonList 控件

    <%@ Import Namespace="System.Data" %>
    <script runat="server">
    sub Page_Load
        if Not Page.IsPostBack then
            dim mycountries=New DataSet
            mycountries.ReadXml(MapPath("countries.xml"))
    
            rb.DataSource=mycountries
            rb.DataValueField="value"
            rb.DataTextField="text"
            rb.DataBind()
        end if
    end sub
    </script>
    <!DOCTYPE html>
    <meta charset="utf-8" />
    <form runat="server">
        <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True"  onSelectedIndexChanged="displayMessage" />
    </form>
    
  3. 最后我们添加一个子例程,当用户点击 RadioButtonList 控件中的某个项目时,该子例程会被执行

    当某个单选按钮被点击时,label 中会出现一行文本

    <%@ Import Namespace="System.Data" %>
    <script runat="server">
    sub Page_Load
    if Not Page.IsPostBack then
      dim mycountries=New DataSet
      mycountries.ReadXml(MapPath("countries.xml"))
      rb.DataSource=mycountries
      rb.DataValueField="value"
      rb.DataTextField="text"
      rb.DataBind()
    end if
    end sub
    sub displayMessage(s as Object,e As EventArgs)
    lbl1.text="Your favorite country is: " & rb.SelectedItem.Text
    end sub
    </script>
    <!DOCTYPE html>
    <meta charset="utf-8" />
    <form runat="server">
    <asp:RadioButtonList id="rb" runat="server"
    AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
    <p><asp:label id="lbl1" runat="server" /></p>
    </form>
    

运行范例 »

ASP.NET 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.