2013-04-17 131 views
0

我有一個場景,我必須將ext textfield的用戶名和密碼值傳遞給控制器​​操作才能對數據庫進行驗證。我寫了下面的代碼將ext文本框值傳遞給javascript,然後傳遞給控制器​​操作

<ext:TextField Name="Username" runat="server" ID="UserName"></ext:TextField> 
    <ext:TextField Name="Password" runat="server" ID="Password"></ext:TextField> 
    <ext:Button runat="server" ID="submit1" Type="Submit" Text="LOGIN" > 
    <Listeners> 
     <Click Fn="CallLogin"> 

     </Click> 
    </Listeners> 

    </ext:Button> 

功能CallLogin(){

 var username = document.getElementById('UserName').value; 
     var password = document.getElementById('Password').value; 

     //var url = '@Url.Action("Login", "Index")'; 
     //window.location.href = url; 

     window.location.href = '/Login/Index/';   

        } 

我如何通過這些值來控制行動?

謝謝!

回答

1

你將不得不使用ajax和jquery來實現這一點。網頁標題

<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> 
</head> 

2.Perform在CallLogin Ajax調用()

1.Include jQuery庫functoin

function CallLogin() { 
     var username = document.getElementById('UserName').value; 
     var password = document.getElementById('Password').value; 

    $.ajax({ 
        type: "POST", 
        url: '/Login/Index/', 
        data: { userText: username , passwordText: password }, 
        success: function (response) { 
         if (response > 0) { 
          alert("Success"); 
          } 
         else 
         { 
         alert("Login failed"); 
          } 

    }); 

} 

假設你的操作方法看起來是這樣的:

[AcceptVerbs(HttpVerbs.Post)] 
     public int Index(string userText, string passwordText) 
     { 

      return (checkValidUser(userText,passwordText)); 
     } 
+0

嗨懶鬼..謝謝你的答覆..但是當我嘗試你的代碼..按鈕不提交給控制器oller.as這樣的網頁不提交..當我在IE瀏覽器嘗試相同的..它發射一個錯誤,說$是未申報..任何想法爲什麼? – Philomath

+0

你需要在你的頁面中包含jQuery庫以使其工作。查看我的修改回答 – Sharun

+0

我已將以下代碼添加到我的aspx文件..但是代碼工作正如預期只在mozilla – Philomath

相關問題