我使用Ajax的EnablePageMethods方式使用javascript调用服务器端代码。问题是在IE8中,页面在ajax调用完成后自动刷新,即服务器端功能已成功执行。我希望Chrome和Firefox能够实现同样的效果,但是一旦执行了服务器端功能,它就不会刷新页面。
有任何想法或建议如何实现这一目标?
我用这种方式从Javascript调用服务器端代码 - http://www.codeproject.com/KB/ajax/Ajax_Call_using_AjaxNet.aspx
这是javascript函数:
function editNode(note) {
PageMethods.deleteNote(note);
}
这是服务器端功能:
[System.Web.Services.WebMethod]
public static void deleteNote(int noteId)
{
string test = noteId.ToString();
Note note = new Note(noteId);
note.IsDeleted = true;
note.update();
}
这是我调用javascript事件的地方:
<a href='myPageName.aspx' onclick='javascript:editNode(1);return false;'>Delete</a>
答案 0 :(得分:0)
我是这样做的:
function editNode(note) {
PageMethods.deleteNote(note,OnSuccess,OnFailure);
}
function OnSuccess() {
if (!navigator.appName == 'Microsoft Internet Explorer')
{
window.location.href=window.location.href;
}
}
function OnFailure(error) {
}
我在这个链接上找到了这个解决方案: