none
不使用VS08控件,怎么实现自动更新 RRS feed

  • 问题

  • 我的页面在用户登录前,显示“登录”和“注册”,在登录后,显示“退出登录”,隐藏了“登录”和“注册”,
    而这个页面是自动刷新的,每次刷新判断用户是否登录
    这个不用VS2008里面的AJAX,用JS代码(也许其他的)怎么做?请教高人
    2009年8月26日 16:47

答案

  • 大致的例子其他的你自己再完善

    <%@ Page Language="C#" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
          var http = null;
          function createXMLHttp() {
            http = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("msxml2.XMLHTTP");
          
          }
          function Login() {
            createXMLHttp();
            var data = "u=" + encodeURIComponent(document.getElementById("u").value) + "&p=" + encodeURIComponent(document.getElementById("p").value);
            http.open("POST", "Log.aspx", true);
            http.onreadystatechange = callback;
            http.setRequestHeader("Content-Length", data.length);
            http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            http.setRequestHeader("Connection", "close");
            http.send(data);

          }

          function callback() {
            if (http.readyState == 4 && http.status == 200) {
              if (http.responseText == "ok") {
                document.getElementById("d1").style.display = "none";
                document.getElementById("d2").style.display = "";
                document.getElementById("d3").innerHTML = "";
              }
              else {
                document.getElementById("d1").style.display = "";
                document.getElementById("d2").style.display = "none";
                document.getElementById("d3").innerHTML = http.resposneText;
              }
            }
          }

          function Logout() {
            createXMLHttp();
            var data = "type=out";
            http.open("POST", "Log.aspx", true);
            http.onreadystatechange = function() {
              if (http.readyState == 4 && http.status == 200) {
                if (http.responseText == "ok") {
                  document.getElementById("d1").style.display = "";
                  document.getElementById("d2").style.display = "none";
                  document.getElementById("d3").innerHTML = "";
                }
                else {
                  document.getElementById("d1").style.display = "none";
                  document.getElementById("d2").style.display = "";
                  document.getElementById("d3").innerHTML = http.resposneText;       
                }
              }

            };
            http.setRequestHeader("Content-Length", data.length);
            http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            http.setRequestHeader("Connection", "close");
            http.send(data);
            
           
          }
        </script>
    </head>
    <body>
        <div id="divID">
          <div id="d1">
          用户名:<input id="u" /><br />
          密码:<input id="p" type="password" /><br />
          <input type="button" value="登录" onclick="Login()" />
          </div>
          <div id="d2" style="display:none">
          <input type="button" value="退出登录" onclick="Logout()" />
          </div>
          <div id="d3"></div>
        </div>
    </body>
    </html>


    【孟子E章】
    • 已标记为答案 NewJoin 2009年8月27日 3:14
    2009年8月27日 2:54
    版主

全部回复

  •  js就是使用XMLHttpRequest来实现即可。在未登录前,显示登录文本框,然后使用XMLHttpRequest提交。根据结果,隐藏登录框,显示出退出登录的内容即可。
    【孟子E章】
    2009年8月27日 0:55
    版主
  • 谢谢。
    能给我提供一个事例吗?或者说的更详细些?
    2009年8月27日 1:57
  • 大致的例子其他的你自己再完善

    <%@ Page Language="C#" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
          var http = null;
          function createXMLHttp() {
            http = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("msxml2.XMLHTTP");
          
          }
          function Login() {
            createXMLHttp();
            var data = "u=" + encodeURIComponent(document.getElementById("u").value) + "&p=" + encodeURIComponent(document.getElementById("p").value);
            http.open("POST", "Log.aspx", true);
            http.onreadystatechange = callback;
            http.setRequestHeader("Content-Length", data.length);
            http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            http.setRequestHeader("Connection", "close");
            http.send(data);

          }

          function callback() {
            if (http.readyState == 4 && http.status == 200) {
              if (http.responseText == "ok") {
                document.getElementById("d1").style.display = "none";
                document.getElementById("d2").style.display = "";
                document.getElementById("d3").innerHTML = "";
              }
              else {
                document.getElementById("d1").style.display = "";
                document.getElementById("d2").style.display = "none";
                document.getElementById("d3").innerHTML = http.resposneText;
              }
            }
          }

          function Logout() {
            createXMLHttp();
            var data = "type=out";
            http.open("POST", "Log.aspx", true);
            http.onreadystatechange = function() {
              if (http.readyState == 4 && http.status == 200) {
                if (http.responseText == "ok") {
                  document.getElementById("d1").style.display = "";
                  document.getElementById("d2").style.display = "none";
                  document.getElementById("d3").innerHTML = "";
                }
                else {
                  document.getElementById("d1").style.display = "none";
                  document.getElementById("d2").style.display = "";
                  document.getElementById("d3").innerHTML = http.resposneText;       
                }
              }

            };
            http.setRequestHeader("Content-Length", data.length);
            http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            http.setRequestHeader("Connection", "close");
            http.send(data);
            
           
          }
        </script>
    </head>
    <body>
        <div id="divID">
          <div id="d1">
          用户名:<input id="u" /><br />
          密码:<input id="p" type="password" /><br />
          <input type="button" value="登录" onclick="Login()" />
          </div>
          <div id="d2" style="display:none">
          <input type="button" value="退出登录" onclick="Logout()" />
          </div>
          <div id="d3"></div>
        </div>
    </body>
    </html>


    【孟子E章】
    • 已标记为答案 NewJoin 2009年8月27日 3:14
    2009年8月27日 2:54
    版主
  • 好的,谢谢.
    2009年8月27日 3:14