我有一个下拉列表,可以动态获取数据,我想在页面加载时显示现有选择,并让用户从列表中选择一个,如果他们想要的话。
有一个网站,其中包含与网站相关的所有数据,我希望我的下拉列表能够从site.market获得现有价值。比如说newyork。下拉列表是动态创建的。 这是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
?
提前致谢。
答案 0 :(得分: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);
希望这有帮助!
的Vivek