我有一个SQL数据库,我在C#中使用ASP.net。基于用户选择获取记录
我有一个下拉框,其选择项数据绑定到数据库中的表。基本上,我需要获取所选记录的ID。
不太确定要做到这一点的最佳方法是什么。我只能想到通过使用下拉框公开的SelectedIndex属性来选择第n行。
ID是uniqueidentifier类型。请注意,由于记录可能被删除,所以增量INT的ID不会被使用。
我有一个SQL数据库,我在C#中使用ASP.net。基于用户选择获取记录
我有一个下拉框,其选择项数据绑定到数据库中的表。基本上,我需要获取所选记录的ID。
不太确定要做到这一点的最佳方法是什么。我只能想到通过使用下拉框公开的SelectedIndex属性来选择第n行。
ID是uniqueidentifier类型。请注意,由于记录可能被删除,所以增量INT的ID不会被使用。
您是否指定在DropDown的SelectedItem被更改时将返回哪个字段值?您应该指定字段名称,以确保在您的DropDown框中选择一个项目时返回指定的字段值。尝试这样的事情 -
cmbList.DataSource = Your Table or DataSet;
cmbList.DataMember = "ColumnName to be displayed in the DropDownList";
cmbList.DataTextField = "ColumnName to be displayed in the DropDownList";
cmbList.DataValueField = "ColumnName to be returned as SelectedValue in the DropDownList";
cmbList.DataBind();
然后使用DropDownList.SelectedValue
来获得所需的字段值作为DropDown的选择结果。希望这可以帮助。
dropdowlist.SelectedValue会给你在下拉列表中选择的项目。 dropdowlist.SelectedItem.Text将为您提供在下拉列表中选择的项目的文本。
protected void dropdowlist_SelectedIndexChanged(object sender, EventArgs e)
{
int ID = dropdowlist.SelectedValue;
---PUT YOUR SELECT CODE HERE----
}
是否记得在.aspx页面中将dropdowlist Autopostback属性设置为true。
<asp:DropDownList ID="dropdowlist" runat="server" AutoPostBack="True" ></asp:DropDownList>
@Harreh只记得在绑定数据时,将DropDownList Item的选定值设置为数据的唯一行ID。 –
SelectedValue属性仅返回在下拉列表中使用的文本。这对我来说并不奇怪,因为它连接到数据源的方式。 – morph
辉煌。我已将数据源更改为包含ID字段和我的标记以包含DataValueField。 – morph