0

我有一个动态获取数据的下拉列表,我想在页面加载时显示现有选择,并让用户根据需要从列表中选择一个。

有一个网站包含与网站相关的所有数据,我希望我的下拉菜单从 site.market 获取现有价值,比如说纽约。下拉列表是动态创建的。这是aspx

<tr>

  <td class="large"><asp:DropDownList ID="dropmarket" runat="server"  ></asp:DropDownList></td>

</tr>

在 aspx.cs 中

    protected void Page_Load(object sender, EventArgs e)
    {


        if (!Page.IsPostBack)
        {

            market();
            CellSiteUtility utility = new CellSiteUtility();
            var siteID = Guid.Parse(Request.QueryString["ID"].ToString());

            var site = utility.GetCellSiteByID(siteID);

            if (site != null)
            {

                txtsitename.Text = site.SiteName;
                txtaddress.Text = site.SiteAddress;
                txtzip.Text = site.SiteCityStateZip;
                dropmanager.SelectedValue = site.Manager;
                dropmarket.SelectedValue = site.Market;

            }
        }

    private void market()
    {
        CellSiteUtility utility = new CellSiteUtility();
        var siteID = Guid.Parse(Request.QueryString["ID"].ToString());
        var market = utility.getMarketsByCellsiteID(siteID);

        foreach (t_Market m in market)
        {
            dropmarket.Items.Add(new ListItem(m.MarketName.ToString(),
                m.MarketId.ToString()));
        }
    }

site.market页面加载时如何dropmarket加载?提前致谢。

4

1 回答 1

0

您可以在 Page_Load 上选择一个列表项:

ListItem selectedListItem = dropmarket.Items.FindByValue(site.Market);
if (selectedListItem != null)
{
    selectedListItem.Selected = true;
};

或者

dropmarket.SelectedIndex = 0;
if (dropmarket.Items.Contains(site.Market))
   dropmarket.SelectedIndex = dropmarket.Items.IndexOf(entry);

编辑:

此示例假定 site.Market 是下拉列表中的值。如:

<option value="somevalue">SomeText</option>

如果 site.Market 是下拉列表中的文本,请使用:

ListItem selectedListItem = dropmarket.Items.FindByText(site.Market);

希望这可以帮助!

维韦克

于 2013-03-26T20:51:04.373 回答