post 后翻页
Scroll page after post back
我想在 post 返回后向下滚动页面。该代码不适用于/没有更新面板。
浏览器控制台错误:
Uncaught SyntaxError: Unexpected token < VM465:1
点击VM465:1时,指向这一行:
<script type="text/javascript">$('html, body').animate({ scrollTop: 1600 }, 'slow');</script>
ASPX:
<asp:UpdatePanel ID="up1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnMore" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:LinkButton ID="btnMore" runat="server" OnClick="btnMore_Click">ShowMore</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
C#:
protected void btnMore_Click(object sender, EventArgs e)
{
//string message = "alert('Hello!')";
//ScriptManager.RegisterClientScriptBlock(sender as Control, this.GetType(), "alert", message, true);
ScriptManager.RegisterClientScriptBlock(sender as Control, this.GetType(), "ScrollPage", GetPageScrollScript(900), true);
}
private string GetPageScrollScript(int heightToScroll)
{
string ScrollPage = "<script type=\"text/javascript\">$('html, body').animate({ scrollTop: " + heightToScroll + " }, 'slow');</script>";
return ScrollPage;
}
当我取消注释(有和没有更新面板)时警报有效。
应该怎么做才能使卷轴起作用。
更新:
它以这种方式对我有用:
ScriptManager.RegisterClientScriptBlock(sender as System.Web.UI.Control, this.GetType(), "ScrollPage", "$('html, body').animate({ scrollTop: " + 1000 + " }, 'slow')", true);
您正在使用像
这样的警报
alert('Hello!')
这是可行的,但是对于您要执行的脚本,您需要将其包裹在标签周围
<script type=\"text/javascript\">$('html, body').animate({ scrollTop: " + heightToScroll + " }, 'slow');</script>
没有他们试试?
$('html, body').animate({ scrollTop: " + heightToScroll + " }, 'slow')
我想在 post 返回后向下滚动页面。该代码不适用于/没有更新面板。
浏览器控制台错误:
Uncaught SyntaxError: Unexpected token < VM465:1
点击VM465:1时,指向这一行:
<script type="text/javascript">$('html, body').animate({ scrollTop: 1600 }, 'slow');</script>
ASPX:
<asp:UpdatePanel ID="up1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnMore" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:LinkButton ID="btnMore" runat="server" OnClick="btnMore_Click">ShowMore</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
C#:
protected void btnMore_Click(object sender, EventArgs e)
{
//string message = "alert('Hello!')";
//ScriptManager.RegisterClientScriptBlock(sender as Control, this.GetType(), "alert", message, true);
ScriptManager.RegisterClientScriptBlock(sender as Control, this.GetType(), "ScrollPage", GetPageScrollScript(900), true);
}
private string GetPageScrollScript(int heightToScroll)
{
string ScrollPage = "<script type=\"text/javascript\">$('html, body').animate({ scrollTop: " + heightToScroll + " }, 'slow');</script>";
return ScrollPage;
}
当我取消注释(有和没有更新面板)时警报有效。
应该怎么做才能使卷轴起作用。
更新: 它以这种方式对我有用:
ScriptManager.RegisterClientScriptBlock(sender as System.Web.UI.Control, this.GetType(), "ScrollPage", "$('html, body').animate({ scrollTop: " + 1000 + " }, 'slow')", true);
您正在使用像
这样的警报alert('Hello!')
这是可行的,但是对于您要执行的脚本,您需要将其包裹在标签周围
<script type=\"text/javascript\">$('html, body').animate({ scrollTop: " + heightToScroll + " }, 'slow');</script>
没有他们试试?
$('html, body').animate({ scrollTop: " + heightToScroll + " }, 'slow')