我在这里有一点问题,我希望你们能帮忙。
问题是我有一个自动滚动功能,可以在x间隔之间滚动页面。
问题是页面也有自动刷新(由于某些数据加载需要),并且自动滚动停止,因为它默认启用。
我尝试使用viewState但无法使其正常工作。
这是我的ScrollFunction:
function Scroll(enable) {
if (Boolean(enable))
{
<%
setAutoScroll("true");
%>
}
else
{
<%
setAutoScroll("false");
%>
}
if (enable) {
var delay = document.getElementById('<%=ScrollDelayValue.ClientID%>').value * 1000;
var id = "";
$('body,html').animate({ scrollTop: $(document).height() }, delay);
//window.scrollBy(0, 50);
$('body,html').animate({ scrollTop: 0 }, delay);
id = setTimeout('Scroll(true);', 5000);
}
else {
<%DeleteCookie("autoscroll");%>
clearTimeout(id);
}
}
在Code-Behind上我有这个:
protected void Page_Load(object sender, EventArgs e)
{
if (ViewState["autoScrollEnabled"] != null)
{
scrollEnabled = ViewState["autoScrollEnabled"].ToString();
}
this.PreRender+=Default_PreRender;
}
private void Default_PreRender(object sender, EventArgs e)
{
ViewState.Clear();
ViewState.Add("autoScrollEnabled", scrollEnabled);
}
public string autoScrollEnabled()
{
return ViewState["autoScrollEnabled"].ToString();
}
public void setAutoScroll(string value)
{
if (ViewState["autoScrollEnabled"] != null)
{
ViewState["autoScrollEnabled"] = value;
}
}
从客户端调用setAutoScroll。在客户端,我有一个在document.ready上运行函数的事件:
<% if (autoScrollEnabled() == "true") { %>
Scroll(true);
<% } %>
<% if (autoScrollEnabled() == "false") { %>
Scroll(false);
请指教.. :)
答案 0 :(得分:1)
如果viewstate不起作用,请尝试使用Session。
尝试将ViewState["autoScrollEnabled"]
替换为Session["autoScrollEnabled"]