2009-12-08 84 views
7

我试图在项目添加到数据库后清除ajax表单,但是在提交表单之前调用了OnComplete和OnSuccess AjaxOptions。如何获取它,以便首先提交表单并调用OnComplete。MVC Ajax.Beginform OnComplete/OnSuccess在控制器调用之前触发

<% using (Ajax.BeginForm("AddTable", new AjaxOptions 
             { 
              UpdateTargetId = "tables", 
              InsertionMode = InsertionMode.InsertAfter, 
              OnComplete = "ClearForm()" 
             })) 
    {%> 

然而之前balue被发送到控制器的形式提交给DisplayName的文本框被清除它调用

function ClearForm() { 
     $('#DisplayName').val(''); 
    } 

。有没有解决的办法。

回答

13

OnComplete = "ClearForm()"应该不带括号即OnComplete = "ClearForm"。我不能肯定地说它会解决你的问题。

+0

我怀疑是这样。设置回调的代码调用ClearForm()并使用结果分配给回调处理程序,而不是简单地将函数引用分配给ClearForm作为回调处理程序。 – tvanfosson 2009-12-08 16:56:56

+0

棒极了,欢呼的家伙,总是有点愚蠢的举起你。 :) – Israfel 2009-12-09 08:57:00

相关问题