0

我正在使用 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>

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

4

2 回答 2

0

听起来您还没有在 Web.config 文件中打开客户端验证和不显眼的 JavaScript。

仔细检查您在 Web.config 中是否有这两行:

<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
于 2012-04-17T15:09:43.030 回答
0

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

于 2012-04-19T18:55:26.680 回答