[问题] PageMethod 用javascript呼叫method

楼主: because25 (口苗)   2016-05-20 16:05:30
最近自学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 + "')");
作者: Ammenze (蓝天白云)   2016-05-23 09:32:00
http://goo.gl/oJIWuo 第一张图有答案
楼主: because25 (口苗)   2016-05-23 10:45:00
谢谢Ammenze 此网页我也有找到和实作但有类似的范例却只有代3个参数,导致我有点搞混了参数dest让我有点疑惑,怎么会放在Success Failed的后方,想说是不是PageMethods有一定的规则?CallMe代入两个参数src,dest接着呼叫PageMethods.GetContactName时却ctrl.value,dest放前后,是因为dest要给CallSuccess CallFailed用的关系吗?
作者: Ammenze (蓝天白云)   2016-05-24 11:12:00
是,只代3个参数的话,那下方的callSucess就只会有1个参数表示callsuccess跟callfailed不会对任何控件做任何事

Links booklink

Contact Us: admin [ a t ] ucptt.com