[問題] PageMethod 用javascript呼叫method

看板Ajax作者 (口苗)時間8年前 (2016/05/20 16:05), 編輯推噓0(0010)
留言10則, 2人參與, 最新討論串1/1
最近自學ASP.NET 的AJAX 寫法範例,有不懂的地方想請教大家 觀念上或是該去哪裡查詢文件也請指教 網路上學習的範例:點選並傳出TextBox1呼叫AJAX 再用TextBox2代出結果 操作上可以執行,但有細節不懂~~~ 1.想請問PageMethods.GetContactName為什麼可以代入4個引數? 在.cs時GetContactName只有設定1個參數而已呀 2.CallSuccess CallFailed 我認知是在PageMethods.GetContactName去呼叫的? 是不是有點類似 IIF 的概念? 3.CallSuccess CallFailed 的兩個引數又是如何知道要抓哪裡? aspx <asp:TextBox ID="TextBox1" runat="server" /> <asp:TextBox ID="TextBox2" runat="server" /> <script type="text/javascript" language="javascript"> function CallMe(src, dest) { var ctrl = document.getElementById(src); PageMethods.GetContactName(ctrl.value, CallSuccess, CallFailed,dest); } function CallSuccess(res, destCtrl) { var dest = document.getElementById(destCtrl); dest.value = res; } function CallFailed(res, destCtrl) { alert(res.get_message()); } aspx.cs [System.Web.Services.WebMethod] public static string GetContactName(string TextBox1text) { return TextBox1text + System.DateTime.Now.ToString(); } Page_Load加入 TextBox1.Attributes.Add("onblur", "CallMe('" + TextBox1.ClientID + "', '" + TextBox2.ClientID + "')"); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.54.20 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1463731532.A.327.html

05/23 09:32, , 1F
http://goo.gl/oJIWuo 第一張圖有答案
05/23 09:32, 1F

05/23 10:45, , 2F
謝謝Ammenze 此網頁我也有找到和實作
05/23 10:45, 2F

05/23 10:46, , 3F
但有類似的範例卻只有代3個參數,導致我有點搞混了
05/23 10:46, 3F

05/23 10:48, , 4F
參數dest讓我有點疑惑,怎麼會放在Success Failed的後
05/23 10:48, 4F

05/23 10:49, , 5F
方,想說是不是PageMethods有一定的規則?
05/23 10:49, 5F

05/23 10:52, , 6F
CallMe代入兩個參數src,dest接著呼叫
05/23 10:52, 6F

05/23 10:55, , 7F
PageMethods.GetContactName時卻ctrl.value,dest放前
05/23 10:55, 7F

05/23 10:56, , 8F
後,是因為dest要給CallSuccess CallFailed用的關係嗎?
05/23 10:56, 8F

05/24 11:12, , 9F
是,只代3個參數的話,那下方的callSucess就只會有1個參數
05/24 11:12, 9F

05/24 11:13, , 10F
表示callsuccess跟callfailed不會對任何控制項做任何事
05/24 11:13, 10F
文章代碼(AID): #1NFiLCCd (Ajax)
文章代碼(AID): #1NFiLCCd (Ajax)