0

我有一个名为 btnBeverage 的按钮、3 个 numericupdown、3 个组合框和 3 个文本框。现在,我创建了一个类来使控件可见或不可见。例如,如果我单击 btnBeverage,则应显示/隐藏 3 个 numericupdown、3 个组合框和 3 个文本框。但是当我把我的代码放在像 numericupdown.Show() 这样的类中时,它无法识别我表单中的任何控件。我如何连接它?

班级 :

    public void visibile()
    {
         numericupdown.Show(); //this has error because it does not recognize any numericupdown control.
    }
4

2 回答 2

1

您正在创建一个完整的类只是为了显示/隐藏一些控件?您可以改用这些方法:

    public static void ShowControl(Control c)
    {
        c.Show();
    }

    public static void HideControl(Control c)
    {
        c.Hide();
    }

或者,如果你想把它放在一个全新的类中(我不推荐)

public static class ControlsUtility
{
    public static void ShowControl(Control c)
    {
        c.Show();
    }

    public static void HideControl(Control c)
    {
        c.Hide();
    }
}

希望有帮助。

于 2013-08-18T04:15:23.993 回答
0

为什么不只使用 jQuery 在客户端进行呢?从您的示例看来,没有理由在服务器端执行此操作。这样做客户端允许您动态控制,并且不需要回发到服务器只是为了显示或隐藏控件。您甚至可以轻松获得一些不错的效果。您可以只修改附加到所有控件的类。我在下面整理了一个我认为不言自明的示例。它允许您显示和隐藏您使用“饮料”类标记的任何项目,只需一个简短的函数即可。
http://jsfiddle.net/dMJds/3/

这是代码:

<script>
    function hideBeverages() {
        $('.beverage').fadeOut(2000);
    };

    function showBeverages() {
        $('.beverage').fadeIn(2000);
    };
</script>

<form>
    <button id="hideBevs" type="button" onclick="hideBeverages()">Hide Beverages</button>
    <button id="showBevs" type="button" onclick="showBeverages()">Show Beverages</button>

    <hr />
    <div class="beverage">
        <h4>Beverage Order</h4>
        <input id="qtyMilk" type="text" /><label for="qtyMilk">Milk</label><br />
        <input id="qtyCoffee" type="text" /><label for="qtyMilk">Coffee</label>
    </div>

    <div>
        <h4>Foods</h4>
        <ul>
            <li class="beverage">Tea</li>
            <li class="produce">Apples</li>
            <li class="beverage">Water</li>
            <li class="produce">Oranges</li>
        </ul>
    </div>
</form>
于 2013-08-18T04:54:05.870 回答