作者because25 (口苗)
看板Ajax
標題[問題] PageMethod 用javascript呼叫method
時間Fri May 20 16:05:30 2016
最近自學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
→ because25: 謝謝Ammenze 此網頁我也有找到和實作 05/23 10:45
→ because25: 但有類似的範例卻只有代3個參數,導致我有點搞混了 05/23 10:46
→ because25: 參數dest讓我有點疑惑,怎麼會放在Success Failed的後 05/23 10:48
→ because25: 方,想說是不是PageMethods有一定的規則? 05/23 10:49
→ because25: CallMe代入兩個參數src,dest接著呼叫 05/23 10:52
→ because25: PageMethods.GetContactName時卻ctrl.value,dest放前 05/23 10:55
→ because25: 後,是因為dest要給CallSuccess CallFailed用的關係嗎? 05/23 10:56
→ Ammenze: 是,只代3個參數的話,那下方的callSucess就只會有1個參數 05/24 11:12
→ Ammenze: 表示callsuccess跟callfailed不會對任何控制項做任何事 05/24 11:13