紧急求救:关于DropDownList控件数据邦定问题
有一数据库,结构如下
CategoryID uniqueidentifier
Name varchar(25)
ParentCategoryID uniqueidentifier
Description varchar(100)
DisplaySeq smallint
Display smallint
现通此表生成了一强类型数据集data.xsd内容如下.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="data" targetNamespace="http://tempuri.org/data.xsd"
elementFormDefault="qualified"
attributeFormDefault="qualified"
xmlns="http://tempuri.org/data.xsd"
xmlns:mstns="http://tempuri.org/data.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="data" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Category">
<xs:complexType>
<xs:sequence>
<xs:element name="CategoryID"
msdata:DataType="System.Guid,
mscorlib,
Version=1.0.5000.0,
Culture=neutral,
PublicKeyToken=b77a5c561934e089"type="xs:string" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="ParentCategoryID"
msdata:DataType="System.Guid,
mscorlib, Version=1.0.5000.0,
Culture=neutral,
PublicKeyToken=b77a5c561934e089"
type="xs:string" minOccurs="0" />
<xs:element name="Description" type="xs:string" minOccurs="0" />
<xs:element name="DisplaySeq" type="xs:short" minOccurs="0" />
<xs:element name="Display" type="xs:short" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:key name="dataKey1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:Category" />
<xs:field xpath="mstns:CategoryID" />
</xs:key>
</xs:element>
</xs:schema>
现我在页面上加上一个DropDownList控年,(前题以正确使用了SqlConnection和SqlDataAdapter并使用了data强类型数据)并把数据邦定其中,并设为自动回发代码如下
data catds;
SqlDataAdapter1.Fill(catds);
DropDownList1.DataSource = catds.Category.DeDefaultView;
DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "CategoryID";
DropDownList1.DataBind();
然后选中事件代码如下
Response.Write(DropDownList1.SelectedItem.Text);
本来程序本应是在选中一个项时,在页面显示这个项的文本,但是现在无论我选哪个项,他都显示其中的第一项。苦思了好久使终觉得我在语法上面没有错误,但不知为什么会出现这种情况。还有是无论我设自动回发,还是再加一按键回发,其结果都是一样,他老是在回发后自动回到第一项并显示第一项的文本