来自C#的JS函数调用不起作用

时间:2018-03-09 08:21:15

标签: javascript c# asp.net webforms

我尝试从CodeBehind(C#)调用JS函数:

function goToBottom() {
        window.scrollTo(0, document.body.scrollHeight);
    }

当我直接从我的asp.net调用它时,该函数有效。 我试过了,但它没有工作......:

 Page.ClientScript.RegisterStartupScript(this.GetType(), "goBot", "goToBottom()", true);

1 个答案:

答案 0 :(得分:0)

RegisterClientScriptBlockRegisterStartupScript不会“调用”代码或函数,它们只是 dd代码到页面; RegisterClientScriptBlock将脚本添加到页面顶部 - 因此它可能看不到所有的html,因为它没有加载; RegisterStartupScript将脚本添加到页面底部 - 因此所有html都可用。

如果要在页面加载时向下滚动,请将其从功能中取出:

// this will run the *first time* the page loads.
window.scrollTo(0, document.body.scrollHeight); // no function.

如果要通过单击调用它,请使用以下函数:

function goToBottom() {
    window.scrollTo(0, document.body.scrollHeight);
}

从javascript调用代码是另一个问题。之前有人问过。搜索网站或开始另一个问题。