我试图通过功能连接到一个ajax.beginform的ajaxoptions的财产的onSuccess调用jQuery用户界面对话框..ajax.beginform onsucess updatetargetid隐藏输入
<script type="text/javascript">
// Dialog
$(document).ready(function() {
$('#dialog').dialog({
autoOpen: false,
width: 600,
modal: true,
buttons: {
"Ok": function() {
$(this).dialog("close");
}
}
});
});
</script>
在一个单独的脚本文件我有这个..
function EmailResult() {
$('#dialog').dialog('open');
}
然后我有一个联系表格,实际上并没有连接起来,控制器只是响应两个字符串响应之一。
<% using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "ContactResult", OnSuccess="EmailResult" }))
{ %>
如果我拿出从Ajax.BeginForm的OnSuccess="EmailResult"
或者干脆删除$('#dialog').dialog('open');
从我EmailResult功能错误消失所以obvisouly这是个用的onSuccess属性和jQuery UI的对话框的问题。
我的第一个问题是我做错了什么导致此不工作和/或若不会工作,那么有没有一种更好的解决方案。
我试图创建上来,并说该消息是否已发送的对话框。我不想使用警报对话框。
我猜的错误会有所帮助,在IE 8调试它在MicrosoftAjax.js库未定义的错误出现
的最后这段代码块造成问题的原因,并在IE当地人选项卡下8它说b是不确定的。
this._onReadyStateChange = function() {
if (a._xmlHttpRequest.readyState === 4) {
try {
if (typeof a._xmlHttpRequest.status === "undefined") return
} catch (b) {
return
}
a._clearTimer();
a._responseAvailable = true;
try {
a._webRequest.completed(Sys.EventArgs.Empty)
} finally {
if (a._xmlHttpRequest != null) {
a._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
a._xmlHttpRequest = null
}
}
}
};
这是什么更新是
<%= Html.Hidden("ContactResult") %>
这原来是问题的全部,我改变了隐藏的输入到一个div和它完美的作品。不知道为什么,但......如果别人跑进这个你去那里...
此外,模式对话框在连接到链接时完美工作,但在上面的示例中不起作用。实际上,如果你将它连接到OnComplete而不是OnSucces,模态对话框会出现,但你仍然会得到相同的错误。 – Casey 2010-07-05 18:42:56