0

我正在尝试使用 Javascript 隐藏一些 div,但我认为回帖会不断重新加载页面。为了让事情变得更复杂,我的按钮是由我背后的代码以编程方式添加的。

foreach (string line in thefilters)
        {
            Button newButton = new Button();
            newButton.ID = Convert.ToString(line);
            newButton.Text = Convert.ToString(line);
            newButton.CssClass = "tblbutton";
            //newButton.Attributes.Add("onclick", "hide_div("+newButton.ID+")");
            newButton.OnClientClick = "return hide_div('" + newButton.ID + "')";
            pnl_left.Controls.Add(newButton);
        }

我的 javascript 位于标题中,如下所示。

<script type="text/javascript">
        function hide_div(filter) {
            var pnl_right = document.getElementById("pnl_right");
            var listofelements = pnl_right.getElementsById("div");
            for (var i = 0; i < listofelements.length; i++) {
                if (listofelements[i].id.indexOf(filter) == 0) {

                    document.getElementById(listofelements[i].id).style.display = 'inline';
                }
                else {
                    document.getElementById(listofelements[i].id).style.display = 'none';
                }
            }
            return false;

        }

我可能在 javascript 中遇到了我想要实现的问题,但我相信如果我可以停止回发,那么我可以自己解决 javascript..

感谢您提前提出任何建议。

4

1 回答 1

1

您尚未显示在哪个事件中添加控件。但是我从您的问题中假设您在 Page_Load 中执行此操作。如果是,请尝试进入OnInit事件。

其次,在 Page_Load 你需要检查

if(!IsPostBack)
{
//your code for adding controls
}

希望有帮助。

于 2012-12-04T05:56:41.140 回答