在HTML下拉菜单中设置所选值

本文关键字:设置 HTML 下拉菜单 | 更新日期: 2023-09-27 18:04:25

我有一个下拉在我的aspx页面,我已经给出了一个数据源到后面的代码。我试图设置所选值,但它没有显示我设置的选项。抱歉,我的解释很垃圾。我将尝试使用我一直在使用的代码。

这是前端部分:

        <select id="OffenceClassificationDropDown" runat="server" style="white-space:pre;"
                onchange="StoreCrimeChange(internalCrimeReference, 'OffenceClassification', this.value)">
        </select>

下面是我绑定数据并尝试设置所选值的代码:

            this.OffenceClassificationDropDown.DataSource = ManageLookups.GetOffenceClassifications(Session, false);
            this.OffenceClassificationDropDown.DataTextField = "Description";
            this.OffenceClassificationDropDown.DataValueField = "Id";
            this.OffenceClassificationDropDown.DataBind();
            if (!String.IsNullOrEmpty(this.crime.OffenceClassification.Description))
            {
                this.OffenceClassificationDropDown.Items.FindByValue(this.crime.OffenceClassification.Id.ToString()).Selected = true;
            }

将值更改为选定值的原因是因为我有两个可供用户切换的面板。他们可以回到原来的页面,然后再到这个页面,这个页面应该保留他们选择的值。

希望有人能告诉我为什么这不起作用,因为它快把我逼疯了!:)

提前感谢大家!

在HTML下拉菜单中设置所选值

为什么不使用asp:下拉列表呢它有一个内置的selectedvalue属性本质上它会呈现出和这里一样的效果

你的代码看起来很好,除了你可能想要检查确保FindByValue()在设置其Selected属性之前不返回null,以避免获得ORNS异常。

如果这个事件被触发,如果FindByValue找到了项目,如果另一段代码没有再次将其更改为其他内容,那么所选择的选项当然应该更改。

此代码在哪个事件中?当面板切换时,您是否启动回发?

您可能希望在crime. offencecclassification中设置一个断点。描述并尝试在调试器中逐步通过您的代码,以确保crime. offencecclassification。Description总是被设置为您所期望的。这也将帮助您确保代码实际上被击中。