我正在使用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#属性和不显眼的验证(这些是代码片段)。
答案 0 :(得分:3)
使用
OnBegin = "return ValidateForm(11,55)"
function ValidateForm(a,b) {
return a<b;
}
答案 1 :(得分:0)
我不确定CrazyCoderz的评论是如何关联的,但它与某些方式有关。
我发现函数名后面的任何内容都会导致Ajax OBegin返回true。这包括OnBegin =“ValidateForm()”。 [我在括号上面的错误]
我现在正在实现'解决' - 两个中的一个 - 编写我自己的Ajax调用或从表单的测试输入元素中读取属性以获取我想要的值。所以,感谢CrazyCoderz让我走上了解决方案的轨道。