2009-09-05 61 views
0

我有一個MVC應用程序,以前工作正常。但沒有改變,它不再起作用。很困惑。url.action不適用於Vista/Windows 2008

我的觀點follwing用於數據輸入驗證超鏈接:

<span><a href="#" id="validate">Verify Input</a> </span> 

驗證代碼是:

<script type="text/javascript">  
$(function(){ 
    $("#validate").click(function(){ 
     alert("Test 1"); 
     $.post("<%=Url.Action("SaveComment","MyVerify") %>", GetPageData(),ProcessResponse); 
      alert("Test 3"); 
    }); 
}); 

function GetPageData() { 
    return{ 
     FullName: $("#Name").val(), 
     ID: $("#ID").val() 
    }; 
} 

function ProcessResponse(data){ 
    alert("Test 2"); 
    if(validating()){    
      if(data=="true"){ 
       $("#VerifyMessageDiv").html("Your information is correct. "); 
       //... 

      } 
      else{ 
       $("#VerifyMessageDiv").html("Your information is not correct."); 
      //.... 

      } 
    }else{ 
    $("#myform").hide(); 
    } 
} 

//client side validation 
function validating() { 
    //... 
    alert("testing message"); 

    } 
</script> 

邏輯是:用js驗證在客戶端首先,然後使用控制器MyVerify來驗證數據在服務器端。它看起來像url動作調用失敗。我得到了「測試1」和「測試3」,但沒有「測試2」,沒有「測試消息」。

該代碼仍然適用於VS2008的XP,但無法在VS 2008上運行,當我將構建版本移至Windows 2008時,也無法正常工作。

它以前有效。不知道爲什麼。如何解決它?

+0

使用螢火蟲來確認發送到服務器的請求是否正確並收到響應。 – Cleiton 2009-09-05 16:37:52

+0

謝謝。用螢火蟲發來的消息,找出原因並加以解決。這是因爲數據庫連接失敗並導致操作失敗。 – KentZhou 2009-09-08 19:21:16

回答

0

當你移動的身材,你確定是:

  1. VS2008已經更新到SP1
  2. ASP.NET MVC已安裝完畢。
  3. .NET Framework已安裝並更新到3.5 SP1。

網址是否正確呈現?你只是把驗證碼放到一個JS文件中,或者它是在一個視圖中。如果它是前者,那麼你需要移動它,因爲你將無法在第4行呈現Url.Action。

相關問題