没有回发的登录页面

时间:2012-11-23 11:54:58

标签: asp.net jquery-mobile

我有一个登录页面,点击登录按钮,它会重定向到另一个.aspx页面,但有回发。我想要点击按钮回发不应该发生。我想用json。但我不知道如何在我的页面中使用它以及如何调用它。请告诉我如何使用json避免回发。我想构建一个移动应用程序并使用jquery mobile。

My code is
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>
    </title>
    <link href="CSS/jquery.mobile-1.1.1.min.css" rel="stylesheet" type="text/css" />

    <link href="CSS/my.css" rel="stylesheet" type="text/css" />

    <script src="Js/jquery.min.js" type="text/javascript"></script>

    <script src="Js/jquery.mobile-1.1.1.min.js" type="text/javascript"></script>
     <script src="Js/my.js" type="text/javascript"></script>

</head>
<body>
<form id="form1" runat="server">
<%-- <asp:ScriptManager ID="scriptmngr" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="upnlData" runat="server" UpdateMode="Conditional">
<ContentTemplate>--%>
<div data-role="page" data-theme="d" id="page1">
        <div data-theme="b" data-role="header"> 
            <h3>
            </h3>
            <div style="">
                <img style="width: 100px" src="Images/QuickMove.png" />
            </div>
        </div>
        <div data-role="content" style="padding: 15px">

      <div>
                <p>
                    <b>
                        <span style="background-color: rgb(255, 255, 0);" data-mce-
style="background-color: #ffff00;">
                        </span>
                        <span style="background-color: rgb(255, 255, 255); color:   
rgb(255, 102, 0);">
                            ​Survey Login
                        </span>
                    </b>

                </p>
            </div>
            <div data-role="fieldcontain" style="width:100%">
            <label  ID="lblLoginMsg" SkinID="snkError" runat="server" 
ForeColor="Maroon" Font-Bold="True"
                    Font-Size="Small"></label>
                <fieldset data-role="controlgroup">
                    <label for="textinput2"><span style="font-family: times new 
roman,times; font-size: medium;">
                        <strong>
                            Username
                        </strong>
                    </span>
                    </label>
                    <input name="" id="txtUserName" placeholder="" value="" type="text" 
runat="server"/>
                </fieldset>
            </div>

            <div data-role="fieldcontain" style="width:100%" >
                <fieldset data-role="controlgroup">
                    <label for="txtPassword"> <span style="font-family: times new 
roman,times; font-size: medium;">
                        <strong>
                            Password
                        </strong>
                    </span>
                    </label>
                    <input name="" id="txtPassword" placeholder="" value=""   
type="password" runat="server"/>
                </fieldset>
            </div>
             <div data-role="fieldcontain" style="width:100%" >
       <%--   <button type="button"   data-transition="fade" data-theme="b" 
            data-icon="check" data-iconpos="right" id="btnSignIn" value="Sign In"     
runat="server"   onclick="btnSignIn_Click" />--%>
         <button id="btnSignIn" type="button" runat="server"   
onserverclick="btnclick">Sign In</button>
  </div>
<div data-theme="b" data-role="footer" data-position="fixed" >
<h4 style="font-size: 10px">

     &copy;QuickMove
</h4>
</div>        
</div>
</div>

</form>
</body>

2 个答案:

答案 0 :(得分:0)

JSON是用于交换数据的数据表示,不用于通信,您需要ajax来验证用户可以使用jQuery Ajax。这是一篇很好的文章,可以开始使用 jquery ajax with asp.net web methods

答案 1 :(得分:0)

您需要以某种方式进行POST,因为出于各种原因(包括安全性和Web标准),在GET中发送登录凭据根本就不是完成,并且您也不能完全在客户端执行,因为那时客户端 - 代码(受定义污染)将负责做出登录决定。

所以你确实需要一个POST,但你可以避免使用AJAX重新加载页面(这基本上意味着当用户提交{{1}时,而不是告诉Web浏览器发出POST请求,你从javascript发出请求并在回调中处理结果而不离开页面)。 jQuery附带了一个完整的AJAX API,所以你不需要了解XmlHttpRequest对象及其在不同浏览器上的实现的细节。

就JSON而言:JSON是一种通用数据格式,也是JavaScript本身的一个子集。它是AJAX请求的标准格式,主要是因为它是轻量级的,内置于​​大多数当前的JavaScript实现中(并且相当快的实现可用于可在需要时透明接管的旧实现),并且易于生成和解析。