url.action在Vista / Windows 2008上不起作用

时间:2009-09-05 16:30:07

标签: asp.net-mvc

我有一个MVC应用程序以前工作正常。但它没有任何改变也没有用。很困惑。

我的观点包含数据输入验证的超链接:

<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 validate,然后使用Controller MyVerify验证服务器端的数据。它看起来像url动作调用失败。我得到了“测试1”和“测试3”,但没有“测试2”,没有“测试消息”。

代码仍适用于使用VS2008的XP,但在使用VS 2008的Vista上无效,当我将构建移动到Windows 2008时,也无法正常工作。

以前工作过。不知道为什么。如何解决?

1 个答案:

答案 0 :(得分:0)

当你移动构建时,你确定:

  1. VS2008已更新为SP1
  2. 已安装ASP.NET MVC。
  3. .NET Framework已安装并更新至3.5 SP1。
  4. 网址是否正确呈现?您只是将验证代码放入JS文件中,还是放在视图中。如果它是前者,那么你需要移动它,因为你将无法在第4行渲染Url.Action。