我在UpdatePanel中有一个DropDownList,这是从SqlDataSource发回的.它有一个参数,这是另一个控件.我有时需要多次回发,但每次更新面板刷新时,都会将项目添加到DropDownList.因此,DropDownList人最终拥有不正确的数据,或重复的数据.

我将AppendDataBoundItems属性设置为true,因为我需要第一项为空.

我怎样才能克服这个问题?有没有其他方法可以让第一项空白?

(这DropDownList是在一个ASP.NET2.0 Web应用程序中,而代码隐藏是用C#编写的)

推荐答案

不要使用AppendDataboundItems='true'(这会导致您所说的问题),而是响应DropDownListDataBound事件,然后将"空白"项添加到列表顶部.

<asp:DropDownList runat="server" ID="MyList"
  ondatabound="MyListDataBound"></asp:DropDownList>

然后在后面的代码中:

protected void MyListDataBound(object sender, EventArgs e)
{
    MyList.Items.Insert(0, new ListItem("- Select -", ""));
}

Asp.net相关问答推荐

Windows 命令行中的/p:是什么意思

系统日期时间?与 System.DateTime

在 DataTextField 中组合两个字段.这可能吗?

获取没有主机的 url 部分

Window.Open 使用 PDF 流而不是 PDF 位置

ASP.NET 控件无法在 Visual Studio 2008 的代码隐藏中引用

如何以编程方式获取会话 cookie 名称?

.NET 核心 IdentityUser 模型中规范化邮箱和用户名的用途是什么?

如何将 Web 应用程序项目转换为类库项目

在 ASP.NET Core 1.0 上处理大文件上传

部署后网站需要强制刷新

带有邮箱地址参数的 WebApi 方法从 HttpClient 返回 404

如何获取 ActionLink 的工具提示?

如何在新实现的接口或基类之间做出决定?

如何在 C# 中转换 TryCast?

如何确定服务器端 C# 上的浏览​​器窗口大小

Fiddler 没有从 ASP.NET 网站嗅探 SOAP 流量

如何将 GridView.DataSource 导出到数据表或数据集?

如何response.write bytearray?

如何使用 WebAPI 处理图像