ASP使隐形元素可见

时间:2013-08-21 12:35:38

标签: html asp.net checkbox webforms visible

在我的网页上有一张大表和一个复选框。最初,该表未显示。选中此复选框后,javascript会调用tablename.SetVisible(cb.GetChecked())。这会失败,因为隐藏表根本不在页面上而无法显示。调试器说:

  

Microsoft JScript运行时错误:'tablename'未定义

如果我将表格设置为可见,然后运行网页,该复选框可以很好地工作,并且可以使表格不可见并再次可见。

但是这张桌子非常大而且通常很烦人,所以如何让复选框与最初看不见的桌子一起使用?

事实上,这是使用DevExpress控件,但我觉得这不是DevExpress问题。

服务器端源只是:

protected void Page_Load(object sender, EventArgs e)
{
    gridResults.DataSource = ds.Tables["Results"];
    gridResults.KeyFieldName = "Sample_Name";
    gridResults.DataBind();
    gridResults.SettingsPager.PageSize = 100;
 }

1 个答案:

答案 0 :(得分:1)

如果您是在客户端(例如在浏览器中)执行此操作,如果您的表不在页面上,那么您将无法使用它执行任何操作。

我建议如果你不想在页面上显示表格,那么你将它的display样式属性设置为none;

C#:

gridResults.CssClass = "hidden";

CSS

.hidden{ display: none; }

然后,当您更改复选框的状态时,只需切换hidden类。

的JavaScript

document.getElementById('[gridResults_ID]').className = ""; // show the table

OR

document.getElementById('[gridResults_ID]').className = "hidden"; // hide the table again