我试图使用Ajax表单,每当我向任何AjaxOptions属性提供回调方法时,都会出现此错误。
Microsoft JScript运行时错误:对象不支持此属性或方法
如果我不向任何属性(OnSuccess,OnFailure,OnComplete或OnBegin)提供回调函数,则不会发生错误,并且表单会正确发布。
这是我的代码。
<% using (Ajax.BeginForm("someAction", "SomeController", new AjaxOptions() {
HttpMethod="POST",
UpdateTargetId = "feedbackMsg",
OnSuccess = "ShowConfirmationMessage"
}))
{ %>
我的JavaScript代码是这样。
function ShowConfirmationMessage(xhr) { alert(xhr);}
当我提供OnSuccess方法时,代码将像这样呈现。
<form action="/Review/SaveQualityScore"
method="post"
onclick="Sys.Mvc.AsyncForm.handleClick(this, new Sys.UI.DomEvent(event));"
onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event),
{
insertionMode: Sys.Mvc.InsertionMode.replace,
httpMethod: 'POST',
updateTargetId: 'feedbackMsg',
onSuccess: Function.createDelegate(this, ShowConfirmationMessage)
});"
>
我猜是Function.createDelegate是问题。因为当我删除OnSuccess属性时,不会呈现function.CreateDelegate函数,并且一切正常。
无论如何,我在这里疯了,任何帮助将不胜感激。谢谢!
最佳答案
确保同时包含以下脚本:
MicrosoftAjax.js
MicrosoftMvcAjax.js