cdu*_*dub 1 c# forms asp.net pass-by-value
我有一个search.aspx页面,其中包含:
<asp:DropDownList id="ddlPopulation" runat="server" DataTextField="population" DataValueField="pid">
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
然后我在page_load上有一个数据绑定:
StringBuilder sql = new StringBuilder();
// Define sql
sql.Append("SELECT pid, population ");
sql.Append("FROM populations ");
sql.Append("ORDER BY pid ASC ");
IDataReader reader = SqlHelper.GetDataReader(sql.ToString());
ddlPopulation.DataSource = reader;
ddlPopulation.DataBind();
Run Code Online (Sandbox Code Playgroud)
我如何能:
将列表项添加到下拉列表中.
<asp:DropDownList id="ddlPopulation" runat="server" DataTextField="population" DataValueField="pid" AppendDataBoundItems="True">
<asp:ListItem>Default</asp:ListItem>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
AppendDataBoundItems将强制将数据项追加到已存在的列表中.所以你的默认项目将保留.
至于文本替换,您可以在SQL中执行它们,或者使用DataSets/DataViews而不是直接SQL,或者将它绑定到您自己的对象列表,您可以在其中执行任何操作,或者创建方法下拉列表的ItemDataBound事件,您应该有权在绑定之前编辑信息.