一個簡單的查詢,我想填充下拉列表,數字從17開始到90,最後一個數字應該是一個像90+而不是90的字符串。我猜這個邏輯會使用一個循環是這樣的:填充asp.net dropdownlist與編號
for (int a = 17; a <= 90; a++)
{
ddlAge.Items.Add(a.ToString());
}
此外,我想填充每個列表項的同一個號碼,文本和價值。 任何想法?
一個簡單的查詢,我想填充下拉列表,數字從17開始到90,最後一個數字應該是一個像90+而不是90的字符串。我猜這個邏輯會使用一個循環是這樣的:填充asp.net dropdownlist與編號
for (int a = 17; a <= 90; a++)
{
ddlAge.Items.Add(a.ToString());
}
此外,我想填充每個列表項的同一個號碼,文本和價值。 任何想法?
for (int i = 17; i < 90; i++)
{
ddlAge.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlAge.Items.Add(new ListItem("90+", "90"));
for (int a = 17; a <= 90; a++)
{
ddlAge.Items.Add(new ListItem(a.ToString(), a.ToString()));
}
試試這個:
for (int a = 17; a <= 90; a++)
{
var i = (a == 90 ? a.ToString() + '+': a.ToString());
ddlAge.Items.Add(new ListItem(i, i));
}
+1:很好的答案。 –
我不想在競爭性的答案中更迂腐,但如果我知道唯一的例外是最後一項,爲什麼我應該把邏輯放在for循環中呢?只需在循環外添加特殊項目即可。這使得它更清晰。 –
我同意@TimSchmelter,y檢查所有數字。 –
這是很容易做到。您需要實例化ListItem類並填充其屬性,然後將其添加到DropDownList。
private void GenerateNumbers()
{
// This would create 1 - 10
for (int i = 1; i < 11; i++)
{
ListItem li = new ListItem();
li.Text = i.ToString();
li.Value = i.ToString();
ddlAge.Items.Add(li);
}
}
這隻回答問題的一部分。 OP希望最後一項顯示爲「90 +」而不是「90」 –
for (int i = 0; i <=91; i++)
{
if (i == 0)
{
ddlAge.Items.Add("Select Age");
}
else if(i<=90)
{
ddlAge.Items.Add(i.ToString());
i++;
}
else
{
ddlAge.Items.Add("90+");
}
}
for (int i = 17; i <= 90; i++)
{
ddlAge.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlAge.Items.Insert(0, new ListItem("Select Age", "0")); //First Item
ddlAge.Items.Insert(ddlAge.Items.Count, new ListItem("90+", "90+")); //Last Item
你爲什麼經過數2倍 –
DataText和DataValue場 –
它設置文本和值。 –