gpt4 book ai didi

c# - 如何获取动态创建的 DropDownList 的顺序

转载 作者:行者123 更新时间:2023-12-02 19:43:35 25 4
gpt4 key购买 nike

我使用 JavaScript、ASP.NET 创建了一些下拉列表。

用户可以通过单击“+”按钮添加任意数量的下拉列表,并通过单击“-”按钮删除它们。

如果很难理解我的意思,请参阅“How to implement a list of dropboxes in C#”。

现在我想实现后面的代码并想要定义下拉列表的顺序,但我不知道哪个是我的第一个下拉列表等。

我们假设所有 <asp:DropDownList>包含以下列表元素:method1、method2、method3 和 method4。如果用户选择一个元素,则会实现代码隐藏中的方法。

示例:dropboxlist1:选择列表项方法2,
dropboxlist2:选择列表项方法1,
dropboxlist3:选择列表项method3,

string txt= "";
if (dropboxlistID.Text == "method1"){
txt = method1Imp();
} else if (dropboxlistID.Text == "method2") {
txt = method2Imp();
} else if (dropboxlistID.Text == "method3") {
txt = method3Imp();
} else {
}

但此时我不知道哪个下拉列表首先出现以及应该首先对我的字符串执行哪种方法。

最佳答案

尝试将每个方法作为委托(delegate)排队到队列中,然后在从单个线程准备好后清空(调用每个委托(delegate))队列。这将确保执行顺序与用户选择的顺序相匹配。

抱歉,我最初没有包含代码。这是一个帮助您入门的基本示例:

Queue<Func<string>> actions = new Queue<Func<string>>();
if(dropboxListID.Text =="m1")
{
actions.Enqueue(method1Imp);
}
if(dropboxListID.Text = "m2")
{
action.Enqueue(method2Imp);
}

...
Sometime Later when you're ready to process these
...
string txt = "";
while(actions.Count >0)
{
var method = actions.Dequeue();
txt = method();
}

这是一篇博客文章,进一步探讨了工作/任务队列的概念:

http://yacsharpblog.blogspot.com/2008/09/simple-task-queue.html

关于c# - 如何获取动态创建的 DropDownList 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10106513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com