2014-01-19 43 views
2

我试图使用pagemethods从JS调用函数方法背后的代码,但它不是要求其也不抛出任何错误...PAGEMETHODS不是从JS功能工作

function example(){ 

pagemethods.method(); 
} 

**aspx.cs 
[webmethod] 
public static void method(){ 

//some logic 
} 

所以要找到这个问题我说“对象不支持此属性或方法”。可我认为这种情况下显示pagemethods正在做针对

  1. 我评论WEBMETHOD则显示错误的一些负面测试!

  2. 然后,我将JS函数中的调用方法名称替换为pagemethods.newmethod(),但我没有将方法名称更改为newmethod ..我期待着一些错误,但它没有给我一个错误..

注:我有 “的method = post” 的形式declaration..does它的效果pagemethods什么..

如此困惑,为什么这个问题上正在发生的事情!

我们可以用任何其他方式调用codebehind方法,而不是pagemethods ..请教建议!

+0

为什么你认为它不叫? – Grundy

+0

试试看[示例'在ASP.NET网页中调用静态方法](http://msdn.microsoft.com/en-us/library/bb398998(v = vs.110).aspx) – Grundy

+0

我正在调试带有断点的代码,所以我没有看到那个静态方法被调用哪个曾经使用pagemethods.i调用我使用相同的概念,在“调用ASP.NET网页中的静态方法”中提到 – user3212507

回答

0

也许你可能会丢失的EnablePageMethods =您的aspx页面真的......

+0

感谢您的答复..i启用该属性,如果我不包括该属性pagemethods本身给我错误..你可以告诉我是否有任何其他方式,我可以从JavaScript调用这些方法.. – user3212507

1

msnd你可以看样这一点,所以你需要

在标记

<asp:ScriptManager ID="sm" runat="server" EnablePageMethods="true"> 
    <Scripts > 
     <asp:ScriptReference Path="pm.js" /> 
    </Scripts> 
</asp:ScriptManager> 

代码在你身后的静态方法,带属性[WebMethod]

pm.js这样的事情

function example(){ 
    PageMethods.method(); 
} 

UPDATE
另一种变体使用了Ajax请求的,例如使用jQuery方法看起来这

function CallMethod(){ 
    $.ajax({ 
     type: "POST", 
     dataType: 'json', 
     contentType: "application/json; charset=utf-8", 
     url: "YourPage.aspx/yourmathod", 
     data:JSON.stringify({}), // parameters for method 
     success: function (dt) { alert(dt);}, //all Ok 
     error: function() { alert('error'); } // some error 
    }); 
}