在我的页面上有一个DropDownList,我用SqlDataSource中的数据库值填充它(见下面的代码).

如何在值之前添加自己的文本或空行?

<asp:DropDownList ID="drpClient" runat="server" Width="200px" 
    AutoPostBack="True" DataSourceID="dsClients" DataTextField="name" 
        DataValueField="client_id">
</asp:DropDownList>
<asp:SqlDataSource ID="dsClients" runat="server" 
    ConnectionString="my_connection_string" 
    ProviderName="System.Data.SqlClient" 
    SelectCommand="SELECT [client_id], [name] FROM [clients]">
</asp:SqlDataSource>

谢谢

另外,你建议使用SqlDataSource还是用另一种方式填充更好?

推荐答案

只需在DropDownList标记中添加ListItem即可.数据源中的所有值都将附加在后面.

<asp:DropDownList ID="drpClient" runat="server" Width="200px" 
          AutoPostBack="True" DataSourceID="dsClients" DataTextField="name" 
          DataValueField="client_id" AppendDataBoundItems="true">
   <asp:ListItem>-- pick one --</asp:ListItem>
</asp:DropDownList>

Asp.net相关问答推荐

AJAX返回未定义、失败

逐步 ASP.NET 自动构建/部署

创建项目 ASP.NET Core (.NET Core) 和 ASP.NET Core (.NET Framework) 有什么区别

如何在 ASP.​NET Core 中使用 jquery

威胁已经被清除了

无法获取项目引用的依赖项

使用 gridview asp.net 进行排序和分页

页面在谷歌浏览器中加载两次

MVC5 身份验证中的......与主域之间的信任关系失败

带有 2 个提交按钮/操作的 ASP.Net MVC 4 表单

当.NET抛出WebException((400)错误请求)时如何处理WebResponse?

如何保护存储在 web.config 中的密码?

会员生成密码 仅限字母数字密码?

ASP.NET 5、EF 7 和 SQLite - SQLite 错误 1:没有这样的表:博客

当用户在文本框中按 Enter 键时执行按钮单击事件

将列表转换为 json 格式 - 快速简便的方法

ContentResult 与字符串

简单的 LINQ 和列表错误:WhereListIterator`1[Task]' to type 'System.Collections.Generic.List`1[Task]'

如何将我的 Autofac 容器插入 ASP. NET 身份 2.1

jQuery Ajax 调用 - 成功设置变量值