相关疑难解决方法(0)

ASP.NET Web窗体DropDownList具有一个无效的SelectedValue,因为它不存在于项列表中

首先有一些问题(DropDownList有一个无效的SelectedValue,因为它不存在于项目列表中,DropDownList"有一个无效的SelectedValue,因为它不存在于项目列表中",asp:DropDownList错误:'DropDownList1'有一个SelectedValue,它是无效的,因为它不存在于项目列表中)关于这一点,并提出了解决办法,但我的问题是为什么会发生这种情况.更重要的是我对建议的解决方法不满意,我发现它们非常难看.

所以有一个页面有一个下拉列表和一个按钮:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="TestWebApplication.WebForm2" ViewStateMode="Disabled" %>

<html lang="en" >
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="ddlTest" runat="server">
        </asp:DropDownList>
        <asp:Button Text="Test" ID="btnTest" runat="server" onclick="btnTest_Click" />
    </div>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我将ddlTest与Page_Init上的一些项绑定,然后在btnTest_Click中再次绑定:

using System;

namespace TestWebApplication
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Init(object sender, EventArgs e)
        {
            //SelectedIndex is -1, SelectedValue is "", SelectedItem is null
            ddlTest.DataSource = new[] { 1, 2, 3 };
            ddlTest.DataBind();
            ddlTest.SelectedValue = "3";
        } …
Run Code Online (Sandbox Code Playgroud)

asp.net webforms

16
推荐指数
1
解决办法
2万
查看次数

asp:DropDownList错误:'DropDownList1'有一个SelectedValue,它是无效的,因为它在项目列表中不存在

我有一个asp.net 2.0网站,有许多asp:DropDownList控件.DropDownList控件包含标准信息city,state,county等... info.除了标准代码之外,该站点还具有用户可以自行配置的自定义代码.例如,动物下拉列表可能包含值狗,猫,鱼等...

我正在从我创建的SQL 2005表中弹出DropDownList,例如tblCodes

一切都很好,用户可以使用众多DropDownList控件添加订单,从列表中选择项目.

如果用户想要更改其中一个自定义下拉列表,则会出现问题.例如,用户想要将动物类型控件上的verbage从Dog更改为K9.这是问题开始的地方.

对于所有新订单,下拉工作正常.当用户检索旧订单时,我在C#代码隐藏中得到以下错误"'DropDownList1'具有一个无效的SelectedValue,因为它在项目列表中不存在."

发生的事情是旧订单的数据库字段值为Dog,DropDownList在其列表中不再有Dog,因为用户将其更改为K9.

关于变通方法的任何想法?
有没有办法让asp:DropDownList接受没有在其列表中播种的项目?我可以使用另一个控件吗?

asp.net

2
推荐指数
2
解决办法
2万
查看次数

标签 统计

asp.net ×2

webforms ×1