C# 回发时,asp.net下拉列表自身重复 这是一个非常奇怪的问题

C# 回发时,asp.net下拉列表自身重复 这是一个非常奇怪的问题,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,当我更改下拉列表的值时,将显示一个新的下拉列表。我很困惑 要知道我在说什么,请查看这些图片 编辑 绑定代码 CallerId = Request["CallerID"]; if (String.IsNullOrWhiteSpace(CallerId)) return; var results = ZumaDa.GetCustomerInformation(CallerId); rowCount = results.Rows.Count; CallerId

当我更改下拉列表的值时,将显示一个新的下拉列表。我很困惑

要知道我在说什么,请查看这些图片

编辑 绑定代码

    CallerId = Request["CallerID"];
    if (String.IsNullOrWhiteSpace(CallerId)) return;
    var results = ZumaDa.GetCustomerInformation(CallerId);
    rowCount = results.Rows.Count;
    CallerId = rowCount > 0 ? results.Rows[0][4].ToString() : CallerId;
    if (rowCount > 1)
    {
        ListView1.Enabled = false;
        GridView1.DataSource = results;
        GridView1.DataBind();
    }
    else
    {
        GridView1.Enabled = false;
        ListView1.DataSource = results;
        ListView1.DataBind();
    }

该代码在页面加载中,未打开!iPostback

我认为您需要将listview绑定到中!IsPostback check是指何时触发postback it pageload事件并再次绑定下拉列表,或者如果不是,请共享绑定代码

,因为您使用ListView标记更新了您的问题以及页面加载代码,在将数据绑定代码包装到
if后,重复的下拉列表问题似乎消失了(!Page.IsPostBack)

代码中的一个问题是,在SelectedIndexChanged事件中,您正在ListView中搜索DropDownList和TextBox。您需要搜索发生SelectedIndexChanged事件的ListViewItem控件

为此,您可以首先从“sender”参数获取DropDownList。然后您应该找到DropDownList的“NamingContainer”控件,并进行搜索。如下所示:

var dropDown = (DropDownList)sender;
var visitID = (TextBox)dropDown.NamingContainer.FindControl("visitID");

第二行代码可能需要有一个额外的“.NamingContainer”,具体取决于您的标记。

两个图像看起来都一样…@SudhakarTillapudi no:)第二行代码在顶部有一个额外的下拉列表,请查看。所以weird@SudhakarTillapudi帮助please@jadarnel27它总是
Itesm[0]
还是我需要使用另一个索引?@jadarnel27添加列表视图标记
pelase是什么意思?对不起,我是asp.NET新手。我不明白你说的话,请解释。是的,我知道,但你看到我的我是新来的,无法评论这就是为什么我通过回答提问。首先,让我们尝试解决重复的问题,你说你需要更多的代码,我将编辑我的问题以提供代码。这是一个好主意!我会注意你的编辑,@MarcoDinatsoli.help,我需要帮助否它是空的,但是看,我试图将更新面板放在td中,第二个选择没有显示,但输入中的文本也没有显示,因此有两个可能性。第一个,是选择功能未启动,第二个是写入输入文本的代码不正确,您有什么建议吗?当我更改选择值时,有没有办法知道功能是否启动?我无法突破,因为我没有数据海,因此,每次我更改代码时,我都会将网站部署到服务器上。我测试了结果。