【问题标题】:Dynamic Checkbox.Checked if statement动态 Checkbox.Checked if 语句
【发布时间】:2015-03-13 06:18:38
【问题描述】:

下面是我的代码,代码为每个超链接创建一个新的复选框,然后用超链接的名称命名每个复选框。然后我有一个 IF 语句,它检查是否检查了动态创建的 CheckBox。如果有,请在标签中显示 CheckBox 的名称。

但是.. 标签未填充。我已经测试了所有内容,如果我手动执行,标签会被填充。标签也保存了视图状态。有任何想法吗? :)

foreach (HyperLink folder in folderList)
            {
                CheckBox checkbox = new CheckBox();
                checkbox.Text = folder.Text.ToString();
                folder.Controls.Add(check);
                checkbox.EnableViewState = true;
                checkbox.AutoPostBack = true;    

                if(check.Checked)
                {
                    selectedFolder.Text = check.Text.ToString();
                }

            }

【问题讨论】:

    标签: c# asp.net dynamic checkbox


    【解决方案1】:

    在我看来,您没有留出任何时间来检查复选框(用户输入)。您应该使用事件处理程序或类似的东西来捕获复选框被选中的事件。

    另外,我没有看到任何地方都定义了“check”。你是说“checkbox”而不是“check”吗?

    【讨论】:

    • 感谢您的回复。是的,为了便于阅读,我将检查更改为复选框。你说添加一个事件处理程序。我用 check.CheckedChanged += checkCheckBox(); 试过这个然而一个。我无法将我的标签作为参数传递。此外,当创建一个通用事件处理程序传递 (sender, e) 时,我也无法使其正常工作。就像你说的,我认为没有时间检查用户输入。在这种情况下,为用户输入提供时间的事件处理程序会是什么样子?再次感谢
    • 对于更有资格回答的人来说,这可能是另一个问题:)。但是我怀疑您使用 (sender,e) 方法正朝着正确的方向前进。您需要的信息应该可以从发件人那里获得。玩弄它直到它起作用..
    • 好的,再次感谢,尽管在事件处理程序中我很难引用我的 asp:Label,因为所有这些都在一个继承了我的默认 Web 表单的类中:/ 有什么想法吗?
    • 可能您应该只有 1 个标签,并继续将选中复选框的名称添加到该标签中。像这样: selectedFolder.Text += check.Text.ToString();
    • 我只有 1 个标签,我正在努力将该标签作为事件处理程序中的参数引用:/
    猜你喜欢
    • 2011-01-03
    • 2013-04-30
    • 2022-11-11
    • 1970-01-01
    • 2019-08-20
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    相关资源
    最近更新 更多