2017-02-02 38 views
-2

我知道这将是一个如此简单的解决方案,但出于某种原因,我无法使用C#工作。我只是想做一个布尔测试来查看ASP表是否可见。如果是,则将可见设置为false,否则将可见设置为true。测试ASP表是否可见

这个测试的正确语法是什么?

protected void btnNewMaterial_Click(object sender, EventArgs e) 
{ 
    if (tblMaterialDetails.Visible==true) 
    { 
     this.tblMaterialDetails.Visible = false; 
    } 
    else 
    { 
     this.tblMaterialDetails.Visible = true; 
    } 
} 

在补充说明,我正在运行ASP 4.5

+0

现在发生了什么?你可以发布控制代码吗? –

+0

你真的试过这段代码吗?它没有按预期工作吗? – mason

+0

你可能会遇到'PostBack'问题你是否熟悉PostBacks以及如何使用调试器..?你可能会设置它,当回发发生时,它会将其设置回真正的可见 – MethodMan

回答

1

第一:如评论中提到的你不需要写这段代码fo这样一个简单的行为。这足够了tblMaterialDetails.Visible = !tblMaterialDetails.Visible;

第二:你的代码是真实的,这是不可能的,不工作。所以检查一下,也许你在你的按钮中删除了OnClick="btnNewMaterial_Click"。如果在调试模式下,您看到了方法触发,可能您在Page_Load中有关于表格可见性的一些指示。有时被遗忘的一件事是:Page_Load在Button_Click后工作

+0

谢谢你的提示!我没有意识到每次点击Button_Click事件时都会触发Page_Load事件。我只是假设它的工作就像VBA中的Form_Load事件。 –

+0

欢迎您。我很高兴它帮助你。 –

1

这应该给你,你需要

bool isVisible = tblMaterialDetails.Visible; 

它会告诉我们,如果它是或不可见,所以你如果结果条件可能是

if (tblMaterialDetails.Visible) 
{ 
    // your code here 
}