【问题标题】:dropdown list not using selected option c#下拉列表不使用选定的选项c#
【发布时间】:2014-05-12 23:30:29
【问题描述】:

我正在创建一个 .NET 4.5 站点,该站点使用下拉列表来选择用户名,然后用户在文本框中输入他们的 id 代码。然后该页面检查两个字段是否与 xml 文件中的值匹配,然后转到帐户页面。我的问题是下拉列表选择不会从加载的第一个选项改变。
这是页面从中填充下拉列表并检查信息的 xml 文件。

    <?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2014-05-09T14:35:34">
  <Staff>
    <IdCode>0200</IdCode>
    <Name id="0200">Doe, John</Name>
  </Staff>
  <Staff>
    <IdCode>0130</IdCode>
    <Name id="0130">Doe, Jane</Name>
  </Staff>
  <Staff>
    <IdCode>0000</IdCode>
    <Name id="0000">Admin, Admin</Name>
  </Staff>
</dataroot>

我使用此处使用的修改版本填充了下拉列表 Populating dropdown from the XML in C#。 代码如下:

XDocument xdoc = XDocument.Load(Server.MapPath("Staff.xml"));
            var query = from xEle in xdoc.Descendants("Staff") select new ListItem(xEle.Element("Name").Value);

            DropDownList1.DataValueField = "value";
            DropDownList1.DataTextField = "text";
            DropDownList1.DataSource = query;
            DropDownList1.DataBind();

            userName = DropDownList1.SelectedItem.Text;

然后我使用“dropdownlist1.SelectedItem.Text”来获取选定的用户名,但它只返回 xml 文件顶部的选项,因此无论我选择什么,它都只会返回 Doe, John。

感谢任何帮助,如果我遗漏了什么,请告诉我,谢谢。

【问题讨论】:

    标签: c# drop-down-menu asp.net-4.5


    【解决方案1】:

    你好像错过了Page.IsPostBack

    if(!IsPostBack)
    {
          XDocument xdoc = XDocument.Load(Server.MapPath("Staff.xml"));
          var query = from xEle in xdoc.Descendants("Staff") select new ListItem(xEle.Element("Name").Value);   
          DropDownList1.DataValueField = "value";
          DropDownList1.DataTextField = "text";
          DropDownList1.DataSource = query;
          DropDownList1.DataBind();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 2019-09-23
      • 2015-08-15
      • 1970-01-01
      相关资源
      最近更新 更多