AjaxControlToolkit combobox 的SelectedIndex=-1 无效

ansuntt 2009-09-29 10:23:38
AjaxControlToolkit 控件是asp.net上六月发布的最新版本。
当SelectedIndex=1或以上时,是Clear_Click事件有效的。但是就是SelectedIndex=-1或者0的时候,就没效了。
这是BUG还是我代码有错?
求解决办法。

aspx代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajaxToolkit:ToolkitScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>所属公司:
<ajaxToolkit:ComboBox ID="ComboBox1" runat="server" AutoPostBack="True" DropDownStyle="DropDownList"
AutoCompleteMode="SuggestAppend" CaseSensitive="False" CssClass="WindowsStyle"
Width="70px" AppendDataBoundItems="True" ItemInsertLocation="Prepend">
</ajaxToolkit:ComboBox>
<asp:Button ID="Button6" runat="server" OnClick="Clear_Click" Text="清空" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>

————————————————————————————————————————————————————
cs代码

using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
company_Databind();
}
}

private void company_Databind()
{
string sql = "select ID,公司名称 from dbo.客户所属公司";
DataSet myds = access.GreatDs(sql);
DataRow dr = myds.Tables[0].NewRow();
dr["ID"] = Guid.Empty;
dr["公司名称"] = "请选择所属公司";
myds.Tables[0].Rows.InsertAt(dr, 0);
ComboBox1.DataSource = myds.Tables[0].DefaultView;
ComboBox1.DataTextField = "公司名称";
ComboBox1.DataValueField = "ID";
ComboBox1.DataBind();
ComboBox1.Items.Insert(0, new ListItem("请选择所属公司", ""));
}

protected void Clear_Click(object sender, EventArgs e)
{
ComboBox1.SelectedIndex = -1;
}
}
...全文
278 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ansuntt 2009-09-30
  • 打赏
  • 举报
回复
现在不是用不用的问题。
主要是想搞清楚是什么原因。
ansuntt 2009-09-30
  • 打赏
  • 举报
回复
combobox 的选项 如

-请选择-
公司1
公司2

先在我的情况是。SelectedIndex = 1 时,combobox的选项是"公司1".
但SelectedIndex = 0 时,combobox的选项不会变成"-请选择-"。
烈火晴天 2009-09-30
  • 打赏
  • 举报
回复
ComboBox控件的索引从0开始不是!
你设置<=0的值,控件当然回归到零,而自然大于0的按照索引值取之...

若我是那个控件,也是那样,怎会是控件的错?恩?
huaxiaoya 2009-09-29
  • 打赏
  • 举报
回复
那就说明不可以设置-1, 少用点这些控件。拉性能
ansuntt 2009-09-29
  • 打赏
  • 举报
回复
ComboBox1.SelectedIndex = -1; 或 ComboBox1.SelectedIndex = 0;
调试时,ComboBox1.SelectedIndex 的值最后都会变成0。

ComboBox1.SelectedIndex = 1(或2或3)的时候ComboBox1.SelectedIndex就会变成相对应的1(或2或3)
yxzbest 2009-09-29
  • 打赏
  • 举报
回复
你调试一下啊,看下初始化的时候是什么值

62,040

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧