ASP.NET MVC 3,Ajax.BeginForm,OnBegin和表单验证

时间:2012-09-14 15:46:06

标签: ajax asp.net-mvc-3

我正在使用Ajax.BeginForm并希望将参数传递给使用OnBegin调用的函数。以下是两个代码段。

new AjaxOptions
{
   HttpMethod = "POST",
   UpdateTargetId = "DataEntrySummary",                
   OnBegin = "ValidateForm(11,55)"
}

function ValidateForm(minAge, maxAge) {return false;}

参数正确传递给ValidateForm函数,但函数始终返回true。

如果我取出参数并使用

OnBegin = "ValidateForm()"
function ValidateForm() {return false;}

它完美运行并返回false。我错过了什么或者这里不允许参数或......

牛津大笑 - 提前感谢。

PS - 出于很好的理由我不能使用C#属性和不显眼的验证(这些代码片段)。

2 个答案:

答案 0 :(得分:3)

使用

OnBegin = "return ValidateForm(11,55)"

function ValidateForm(a,b) {
    return a<b;
}

答案 1 :(得分:0)

我不确定CrazyCoderz的评论是如何关联的,但它与某些方式有关。

我发现函数名后面的任何内容都会导致Ajax OBegin返回true。这包括OnBegin =“ValidateForm()”。 [我在括号上面的错误]

我现在正在实现'解决' - 两个中的一个 - 编写我自己的Ajax调用从表单的测试输入元素中读取属性以获取我想要的值。所以,感谢CrazyCoderz让我走上了解决方案的轨道。