我有一个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时,也无法正常工作。
以前工作过。不知道为什么。如何解决?
答案 0 :(得分:0)
当你移动构建时,你确定:
网址是否正确呈现?您只是将验证代码放入JS文件中,还是放在视图中。如果它是前者,那么你需要移动它,因为你将无法在第4行渲染Url.Action。