0

その場でデータを取得するドロップダウンがあり、ページが読み込まれたときに既存の選択を表示し、必要に応じてユーザーがリストから1つを選択できるようにします。

サイトに関連するすべてのデータを含むサイトがあり、ドロップダウンで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 に答える