在回发之间保存数据

时间:2014-06-14 20:40:09

标签: javascript asp.net

我在这里有一点问题,我希望你们能帮忙。

问题是我有一个自动滚动功能,可以在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);

请指教.. :)

1 个答案:

答案 0 :(得分:1)

如果viewstate不起作用,请尝试使用Session。 尝试将ViewState["autoScrollEnabled"]替换为Session["autoScrollEnabled"]