我想用asp.net和jQuery手機做一個登錄頁面。防止頁面重新加載asp.net jquery javascript
當用戶點擊登錄按鈕時,我首先在c#中做一些處理,然後調用JavaScript。
問題是,當我點擊登錄按鈕,頁面似乎重新加載之前,它執行的JavaScript,我不希望這一點。
這裏是我的代碼:
<asp:Button name="login" ID="btnLogin" runat="server" Text="Login" OnClick="btnLogin_Click" />
C#:
protected void btnLogin_Click(object sender, EventArgs e)
{
if (String.Format("{0}", Request.Form["username"]) != "" && String.Format("{0}", Request.Form["password"]) != "")
{
ClientScript.RegisterStartupScript(GetType(), "key", "login();", true);
}
else
{
//todo
}
}
JS/jQuery的:
<script type="text/javascript">
function login() {
jQuery(function() {
jQuery.ajax({
beforeSend: function() {
$.mobile.loading('show', {
text: 'Processing...',
textVisible: true,
theme: 'a'
});
},
type: "GET",
url: "Handler.ashx",
data: "method=validate",
success: function (data) {
$.mobile.loading('hide');
//$.mobile.changePage("HomePage.aspx", { transition: "fade" });
}
});
});
};
</script>
任何想法?
謝謝!
編輯:我還需要在服務器端代碼來處理口令加密是在C#
當然,它會重新加載...您必須完全捕獲Javascript中的click事件,然後將所有數據傳遞到AJAX中的服務器。 –
我忘了提及我的服務器端進程是使用C#中的類來加密密碼:/ – Distwo
那麼問題是您的'login'方法沒有被調用?從你的代碼看,你並沒有調用它。 –