我有一个名为btnBeverage的按钮,3个numericupdown,3个组合框和3个文本框。现在,我创建了一个类来使控件可见或不可见。例如,如果我单击btnBeverage,则应显示/隐藏3个数字组合,3个组合框和3个文本框。但是当我把我的代码放在像numericupdown.Show()这样的类中时,它无法识别我的表单中的任何控件。我怎么连接它?
CLASS:
public void visibile()
{
numericupdown.Show(); //this has error because it does not recognize any numericupdown control.
}
答案 0 :(得分: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();
}
}
希望有所帮助。
答案 1 :(得分: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>