在提交表单之前,不显眼的javascript重新加载数据输入表单

时间:2012-04-17 13:24:19

标签: jquery unobtrusive-javascript unobtrusive-validation

我正在使用ASP.Net MVC并实现不显眼的javascript以进行表单验证。这是我的代码:

@{
   AjaxOptions options = new AjaxOptions
   { 
    HttpMethod = "Post",
    LoadingElementId = "ProcessingMessageContainer",
    Url = @Model.SaveUrl,
    OnBegin = "OnBegin",
    OnSuccess = "OnSaveSuccess",
    OnFailure = "OnSaveFailure",
    OnComplete = "OnComplete",
   };   
 }
 <div id="DataEntryFormContainer">
     @using (Ajax.BeginForm(options)) 
     {
        [form here]
     }
 </div>

问题是当我按下提交按钮时,在服务器上处理实际提交之前重新加载表单。所以,这是一个糟糕的用户体验。表单数据将传递到服务器并进行相应处理。如何在用户按下提交按钮后重新加载数据输入表单?感谢。

2 个答案:

答案 0 :(得分:0)

听起来你没有在Web.config文件中打开客户端验证和不引人注意的JavaScript。

仔细检查Web.config中是否包含这两行:

<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

答案 1 :(得分:0)

我明白了。我以某种方式绑定了2个不同的动作来提交按钮。它正在提交表单并请求原始页面。我通过使用firebug观看控制台来捕获它。每次我提交表单时,我都会看到2个服务器请求:1个提交表单的帖子和1个用于检索表单的帖子。感谢大家的帮助。