asp.net用户控件scroolIntoView正在滚动整个页面

时间:2010-11-15 12:56:11

标签: asp.net user-controls scroll

我在那里

我正在使用带有树视图的asp.net用户控件。 当我加载页面时,我想将用户控件scrool到树视图中的选定节点。 我正在使用js函数.ScrollIntoView(true)。 但这是滚动整个页面(不仅是用户控件内部的内容)

这是我的代码

//js
function ScroolToFirstSelectedCheckBox(ctrlId) {

    Event.observe(window, 'load', function() {
        var tree = document.getElementById(ctrlId + '_MyTreeView');

        var checkBoxes = tree.getElementsByTagName("input");
        var checkBoxesCount = checkBoxes.length;
        for (var i = 0; i < checkBoxesCount; i++) {
            if (checkBoxes[i].checked) {
                checkBoxes[i].scrollIntoView(true);
                break;
            }
        }
    }
    );
}

//aspx.cs
 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), 
                                             "ScrollToSelectedCheckBox", 
                           string.Format("ScroolToFirstSelectedCheckBox('{0}')", 
                           this.UniqueID), 
                           true);

如何保持父页面滚动位置,但继续将用户控制位置设置在我想要的位置?

韩国社交协会

1 个答案:

答案 0 :(得分:0)

好的,只需更改

checkBoxes[i].scrollIntoView(true);

checkBoxes[i].scrollIntoView(false);

就是这样!

= P