作者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://webptt.com/cn.aspx?n=bbs/Ajax/M.1463731532.A.327.html
2F:→ because25: 谢谢Ammenze 此网页我也有找到和实作 05/23 10:45
3F:→ because25: 但有类似的范例却只有代3个参数,导致我有点搞混了 05/23 10:46
4F:→ because25: 参数dest让我有点疑惑,怎麽会放在Success Failed的後 05/23 10:48
5F:→ because25: 方,想说是不是PageMethods有一定的规则? 05/23 10:49
6F:→ because25: CallMe代入两个参数src,dest接着呼叫 05/23 10:52
7F:→ because25: PageMethods.GetContactName时却ctrl.value,dest放前 05/23 10:55
8F:→ because25: 後,是因为dest要给CallSuccess CallFailed用的关系吗? 05/23 10:56
9F:→ Ammenze: 是,只代3个参数的话,那下方的callSucess就只会有1个参数 05/24 11:12
10F:→ Ammenze: 表示callsuccess跟callfailed不会对任何控制项做任何事 05/24 11:13