簡體   English   中英

PageMethods不起作用,因為方法未從javascript調用

[英]PageMethods not working because method is not calling from javascript

我有一個分頁方法,

 PageMethods.AuthUser(username,password,onsuccess, on fail);

我后面的代碼如下

public string AuthUser(string username,string password){return ""}

我不知道我在做什么錯,只是沒有用

是的,我明白了我在方法后面的代碼中缺少靜態功能,並且發現該方法應該與webmethod一起使用。 謝謝xyz的評論

應該是

[WebMethod]
public static AuthUser(...)

添加ScriptManager屬性EnablePageMethods="true"

更改您的代碼

[System.Web.Services.WebMethod]
public static string AuthUser(string username,string password){return ""}

退貨清單<object>從 C# 方法到 JavaScript PageMethods<div id="text_translate"><p> 我在 ASP.net ASPX 網頁上的 JavaScript 中從 PageMethods 調用返回對象列表時遇到問題。</p><p> 在 C# 方法中,如果我返回單個 object 它可以被 JavaScript 讀取,但是如果我返回一個對象列表,它會返回 500 錯誤。</p><p> 下面是一個返回單個 object 的示例,它可以工作。</p><p> C#</p><pre> [WebMethod] public static Project SingleObject() { Project obj = new Project("Thing 1", 10, 10, "Thing 2", new List&lt;string&gt;() { "Thing 3", "Thing 4" }, "thing 5", new List&lt;string&gt;() { "Thing 6", "Thing 7" }, "Thing 8", new List&lt;string&gt;() { "Thing 9", "Thing 10" }); return obj; }</pre><p> JavaScript</p><pre> function getObject() { var object = PageMethods.GetData(onSuccess, onFailed); function onSuccess(data) { console.log(data.thing1); } function onFailed(result) { console.log("Request Failed;"); } }</pre><p> 現在,如果我更改 C# 方法以返回List&lt;Project&gt;而不是單個 object,它會在 chrome web 控制台中返回錯誤 500。</p><p> 下面的例子。</p><p> C#</p><pre> [WebMethod] public static List&lt;Project&gt; MulitpleObjects() { Project obj1 = new Project("Thing 1", 10, 10, "Thing 2", new List&lt;string&gt;() { "Thing 3", "Thing 4" }, "thing 5", new List&lt;string&gt;() { "Thing 6", "Thing 7" }, "Thing 8", new List&lt;string&gt;() { "Thing 9", "Thing 10" }); Project obj2 = new Project("Thing 1", 10, 10, "Thing 2", new List&lt;string&gt;() { "Thing 3", "Thing 4" }, "thing 5", new List&lt;string&gt;() { "Thing 6", "Thing 7" }, "Thing 8", new List&lt;string&gt;() { "Thing 9", "Thing 10" }); Project obj3 = new Project("Thing 1", 10, 10, "Thing 2", new List&lt;string&gt;() { "Thing 3", "Thing 4" }, "thing 5", new List&lt;string&gt;() { "Thing 6", "Thing 7" }, "Thing 8", new List&lt;string&gt;() { "Thing 9", "Thing 10" }); List&lt;Project&gt; objects = new List&lt;Project&gt;() { obj1, obj2, obj3 }; return objects; }</pre><p> JavaScript</p><pre> function getObjects() { var objects = PageMethods.GetData(onSuccess, onFailed); function onSuccess(data) { console.log(data[0].thing1); } function onFailed(result) { console.log("Request Failed;"); } }</pre><p> 如何更改它以能夠返回對象列表?</p></div></object>

[英]Return List<Object> from C# Method to JavaScript PageMethods

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 PageMethods.Method 未從 javascript 調用 退貨清單<object>從 C# 方法到 JavaScript PageMethods<div id="text_translate"><p> 我在 ASP.net ASPX 網頁上的 JavaScript 中從 PageMethods 調用返回對象列表時遇到問題。</p><p> 在 C# 方法中,如果我返回單個 object 它可以被 JavaScript 讀取,但是如果我返回一個對象列表,它會返回 500 錯誤。</p><p> 下面是一個返回單個 object 的示例,它可以工作。</p><p> C#</p><pre> [WebMethod] public static Project SingleObject() { Project obj = new Project("Thing 1", 10, 10, "Thing 2", new List&lt;string&gt;() { "Thing 3", "Thing 4" }, "thing 5", new List&lt;string&gt;() { "Thing 6", "Thing 7" }, "Thing 8", new List&lt;string&gt;() { "Thing 9", "Thing 10" }); return obj; }</pre><p> JavaScript</p><pre> function getObject() { var object = PageMethods.GetData(onSuccess, onFailed); function onSuccess(data) { console.log(data.thing1); } function onFailed(result) { console.log("Request Failed;"); } }</pre><p> 現在,如果我更改 C# 方法以返回List&lt;Project&gt;而不是單個 object,它會在 chrome web 控制台中返回錯誤 500。</p><p> 下面的例子。</p><p> C#</p><pre> [WebMethod] public static List&lt;Project&gt; MulitpleObjects() { Project obj1 = new Project("Thing 1", 10, 10, "Thing 2", new List&lt;string&gt;() { "Thing 3", "Thing 4" }, "thing 5", new List&lt;string&gt;() { "Thing 6", "Thing 7" }, "Thing 8", new List&lt;string&gt;() { "Thing 9", "Thing 10" }); Project obj2 = new Project("Thing 1", 10, 10, "Thing 2", new List&lt;string&gt;() { "Thing 3", "Thing 4" }, "thing 5", new List&lt;string&gt;() { "Thing 6", "Thing 7" }, "Thing 8", new List&lt;string&gt;() { "Thing 9", "Thing 10" }); Project obj3 = new Project("Thing 1", 10, 10, "Thing 2", new List&lt;string&gt;() { "Thing 3", "Thing 4" }, "thing 5", new List&lt;string&gt;() { "Thing 6", "Thing 7" }, "Thing 8", new List&lt;string&gt;() { "Thing 9", "Thing 10" }); List&lt;Project&gt; objects = new List&lt;Project&gt;() { obj1, obj2, obj3 }; return objects; }</pre><p> JavaScript</p><pre> function getObjects() { var objects = PageMethods.GetData(onSuccess, onFailed); function onSuccess(data) { console.log(data[0].thing1); } function onFailed(result) { console.log("Request Failed;"); } }</pre><p> 如何更改它以能夠返回對象列表?</p></div></object> 通過PageMethods將字符串從JavaScript傳遞給Aspx方法 PAGEMETHODS 不適用於 JS 函數 ASP.NET 4.0-從客戶端方法調用服務器端方法-PageMethods 從Java中的PageMethods成功函數返回結果 從iframe中的頁面檢索會話的PageMethods無法正常工作 從javascript調用asp.net頁面方法無法正常工作 使用PageMethods從Javascript代碼調用C#布爾函數 JavaScript中的PageMethods作為函數的返回
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM