1. 資料繫結
xxx.aspx.cs
ddlTest.DataSource = 資料來源;
ddlTest.DataTextField = 繫結欄位Text字串;
ddlTest.DataValueField = 繫結欄位Value字串;
ddtTest.Text = 指定顯示Value;
//若繫結欄位為DataTable的Date欄位,要去除上午12:00:00
for (int i = 0; i < ddlTest.Items.Count; i++)
{
ddlTest.Items[i].Text = Convert.ToDateTime(ddlTest.Items[i].Text).ToString("yyyy/MM//dd");
ddlTest.Items[i].Value = Convert.ToDateTime(ddlTest.Items[i].Value).ToString("yyyy/MM//dd");
}
2. 取得選取項目文字與值
xxx.aspx
<asp:DropDownList ID="ddlTest" runat="server">
xx.aspx.cs
string strText = ddlTest.SelectedItem.Text; //取得選擇的Text
string strValue = ddlTest.SelectedValue;//取得選擇的Value
3.1 下拉選單預設先顯示「請選擇」項目,再出現繫結的資料。
有下列方法,可搭配if (ddlTest.SelectedIndex > 0)。:
3.1.1
xxx.aspx.cs
ListItem item = new ListItem();
item.Text = "請選擇";
item.Value = "0";
item.Selected = true;
...
this.ddlTest.DataBind();
this.ddlTest.Items.Add(item);
或
...
this.ddlTest.DataBind();
this.ddlTest.Items.Insert(0, "請選擇"或item));
3.1.2.
//xxx.aspx 繫結靜態項目
<asp:DropDownList ID="ddlTest" runat="server" AppendDataBoundItems="True">
<asp:ListItem Value="0" Text="請選擇"></asp:ListItem>
</asp:DropDownList>
3.2 清空已繫結項目 (使用兩個DropDownList做連動,第二個DropDownList的AppendDataBoundItems屬性設成 true,導致Item重複繫結 )
ddlTest.Items.Clear();
會連靜態繫結項目都清空,可以搭配ddlTest.Items.Insert(index, item)或ddlTest.Items.Add(item)來重新繫結。
4. ListItem Text繫結資源檔
xxx.aspx
<asp:DropDownList ID="ddlTest" runat="server">
<asp:ListItem Value="ID" Text="<%$ Resources:PageResource, ID %>"></asp:ListItem>
<asp:ListItem Value="Name" Text="<%$ Resources:PageResource, Name %>"></asp:ListItem>
</asp:DropDownList>
to be continued...
沒有留言:
張貼留言