ajax 向服务器发送请求 c# 急...... 哪位高手给个例子,在客户端调用cs里面的方法,并获取返回的值,在线等待急 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 2008的话。。可以用jquery+WebMethod直接做了~ protected void Page_Load(object sender, EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(GetType()); } [AjaxPro.AjaxMethod] public string ResurnContent(string pic) { BJProduct Product = new BJProduct(); Product.PictureUrl = pic; WebManager.GetInfo(Product, "&pictureurl="); return Server.HtmlDecode(Product.Content).ToString(); }function ChangeImg(obj){var img1=document.getElementById('img1');img1.src=obj;ASP.hcbz_aspx.ResurnContent(obj,callback)}function callback(res){ if(res!=null) { document.getElementById('div1').innerHTML=res.value; }}function ShowPic(){ document.getElementById('img1').src='<%=Pic1 %>'; ASP.hcbz_aspx.ResurnContent('<%=Pic1 %>',callback)} 记得web-config加<httpHandlers> <add path="ajaxpro/*.ashx" verb="POST,GET" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2" /> </httpHandlers> see~http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/ html function change(obj) { var arr = MemberData1.FunAjax(obj.value).value; if( arr =="0") { document.getElementById('lblShow').style.display ='block'; document.getElementById('lblShow').innerText = '此帳號已經存在'; } else { document.getElementById('lblShow').style.display ='none'; } }csprivate void Page_Load(object sender, System.EventArgs e) ...{ if (! Page.IsPostBack) ...{ Ajax.Utility.RegisterTypeForAjax(typeof(MemberData1));//MemberData1中为页面的类名称 this.TextGAccount.Attributes.Add("onchange","javascript:change(this);"); InitailData();//新增會員 if (Request["callback"] != null && Request["callback"].ToString() == "3") ...{ Response.Write(BindAreaByAjax(Convert.ToInt16(Request["CityID"]))); Response.End(); } } } //帳號驗證 [Ajax.AjaxMethod()] public static string FunAjax(string GAccount) ...{ GuestCenter gct =new GuestCenter(); DataTable tab = gct.GSTA_SelMemberByGAcount(GAccount); if(tab.Rows.Count!=0) ...{ return "0"; //帳號存在 } return "1"; //帳號不存在 }建立HttpHandler,在web.config里面加上<configuration><system.web><httpHandlers><add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /></httpHandlers> <system.web></configuration>本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fuda_1985/archive/2008/05/16/2452282.aspx记得加上ajax.dll ajaxpro使用http://hi.baidu.com/yingchun_02/blog/item/8a5ba43eec3587eb54e723fb.html demo url:http://mosesofegypt.net/file.axd?file=GridViewDrillDownJQueryAjax.rar 百度ajaxpro2.dllajax.dll有下载的。。 http://download.csdn.net/source/258423 C# code protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { AjaxPro.Utility.RegisterTypeForAjax(typeof(Default3)); } } [AjaxPro.AjaxMethod] public string getString(string str) { return str + "Say: hello my friends"; }JScript code<script> function ss() {var str=document.getElementById("<%=TextBox1.ClientID%>").value; var res=getString(str); alert(res.value);}</script><body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server" Text="nima"></asp:TextBox> <div id="asp" onclick="ss()">ss</div> <asp:Label ID="s" runat="server" Text="ss"></asp:Label> </div> </form></body>还是不可以哦 这个函数这么写<script> function ss() {var str=document.getElementById("TextBox1").value; var res=getString(str); alert(res.value);} </script> [AjaxPro.AjaxMethod()] public string getString(string str) { return str + "Say: hello my friends"; } 看看吧。还有就是项目名称别用中文的。 他调用不到getString()方法啊 ASP.NET AJAX的话,1,服务器端方法必须是static静态方法;2,<asp:ScriptManager ... EnablePageMethods="true">3,js里PageMethods.方法名(参数列表,回调方法名); 这样调用.function 回调方法名(result){ alert(result); //显示结果.} 忘了还有一条:服务器端静态方法用[System.Web.Services.WebMethod]标注.网上搜出来的:-----------------------------------------------Page Method 方式如果不想独立创建Web Service,而只是希望能够调用页面上的一些方法,那么可以采用Page Method的的方法。同样的我们添加一个页面PageMethodDemo.aspx,增加一些JavaScript和一个后台方法,注意这个方法必须是静态方法,代码如下:<script type="text/javascript"> function PageMethodCall() { var testString = "PageMethodCall"; PageMethods.Test($get('txtName').value, OnSucceeded);}// 页面方法调用完成的回调函数.function OnSucceeded(result){ // 显示调用结果 var RsltElem = document.getElementById("Results"); RsltElem.innerHTML = result;}</script><form id="form1" runat="server"><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><div> <h2>Page Method</h2> <input ID="txtName" type="text" /> <button id="Button1" onclick="PageMethodCall();">调用Page Method</button></div><hr/> <div> <span id="Results"></span></div> </form>代码页PageMethodDemo.aspx.cs[System.Web.Services.WebMethod]public static string Test(string name){ return "Hello " + name + "!";} 使用ajax.dll不需要一定是静态的啊我一直用这个,没问题。接我说的做的。楼主,你报没报js错误?如果没报,看看项目名称是不是带着中文。别用中文名称。 .net kindeditor 图片上传问题 datagrid 字段显示图片 菜鸟问题 文件删除 比较急的项目,想要用别人的组件,不知道可行不? 我想在datagrid自带的分页前面加两个字可以吗?? 关于asp与asp.net DropDownList如何实现编辑时的选择状态? 一个自动生成序列的照片小程序(C#)100分。 DataGrid分页,每页都是同样的数据,怎么回事? DataGrid中插入了一列checkBox,如何根据数据库中的数据设置是否选中 FileUpload控件怎么设置为必填?可以用验证控件吗? 如何在SQL Server2000存储过程使用表名作为参数
{
AjaxPro.Utility.RegisterTypeForAjax(GetType()); } [AjaxPro.AjaxMethod]
public string ResurnContent(string pic)
{
BJProduct Product = new BJProduct();
Product.PictureUrl = pic;
WebManager.GetInfo(Product, "&pictureurl="); return Server.HtmlDecode(Product.Content).ToString();
}
function ChangeImg(obj)
{
var img1=document.getElementById('img1');
img1.src=obj;
ASP.hcbz_aspx.ResurnContent(obj,callback)
}
function callback(res)
{
if(res!=null)
{
document.getElementById('div1').innerHTML=res.value;
}
}
function ShowPic()
{
document.getElementById('img1').src='<%=Pic1 %>';
ASP.hcbz_aspx.ResurnContent('<%=Pic1 %>',callback)
}
加<httpHandlers>
<add path="ajaxpro/*.ashx" verb="POST,GET" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2" />
</httpHandlers>
{
var arr = MemberData1.FunAjax(obj.value).value;
if( arr =="0")
{
document.getElementById('lblShow').style.display ='block';
document.getElementById('lblShow').innerText = '此帳號已經存在';
}
else
{
document.getElementById('lblShow').style.display ='none';
}
}
cs
private void Page_Load(object sender, System.EventArgs e)
...{ if (! Page.IsPostBack)
...{
Ajax.Utility.RegisterTypeForAjax(typeof(MemberData1));//MemberData1中为页面的类名称
this.TextGAccount.Attributes.Add("onchange","javascript:change(this);");
InitailData();//新增會員 if (Request["callback"] != null && Request["callback"].ToString() == "3")
...{
Response.Write(BindAreaByAjax(Convert.ToInt16(Request["CityID"])));
Response.End();
}
}
}
//帳號驗證
[Ajax.AjaxMethod()]
public static string FunAjax(string GAccount)
...{
GuestCenter gct =new GuestCenter();
DataTable tab = gct.GSTA_SelMemberByGAcount(GAccount); if(tab.Rows.Count!=0)
...{
return "0"; //帳號存在
}
return "1"; //帳號不存在
}
建立HttpHandler,在web.config里面加上<configuration><system.web><httpHandlers><add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /></httpHandlers> <system.web></configuration>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fuda_1985/archive/2008/05/16/2452282.aspx记得加上ajax.dll
http://hi.baidu.com/yingchun_02/blog/item/8a5ba43eec3587eb54e723fb.html
ajax.dll
有下载的。。
http://download.csdn.net/source/258423
{
if (!Page.IsPostBack)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Default3));
}
}
[AjaxPro.AjaxMethod]
public string getString(string str) { return str + "Say: hello my friends"; }
JScript code
<script>
function ss() {var str=document.getElementById("<%=TextBox1.ClientID%>").value;
var res=getString(str);
alert(res.value);}
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" Text="nima"></asp:TextBox>
<div id="asp" onclick="ss()">ss</div>
<asp:Label ID="s" runat="server" Text="ss"></asp:Label>
</div>
</form>
</body>
还是不可以哦
<script>
function ss() {var str=document.getElementById("TextBox1").value;
var res=getString(str);
alert(res.value);}
</script>
[AjaxPro.AjaxMethod()]
public string getString(string str) { return str + "Say: hello my friends"; }
看看吧。还有就是项目名称别用中文的。
1,服务器端方法必须是static静态方法;
2,<asp:ScriptManager ... EnablePageMethods="true">
3,js里
PageMethods.方法名(参数列表,回调方法名);
这样调用.function 回调方法名(result)
{
alert(result); //显示结果.
}
服务器端静态方法用[System.Web.Services.WebMethod]标注.网上搜出来的:
-----------------------------------------------
Page Method 方式如果不想独立创建Web Service,而只是希望能够调用页面上的一些方法,那么可以采用Page Method的的方法。同样的我们添加一个页面PageMethodDemo.aspx,增加一些JavaScript和一个后台方法,注意这个方法必须是静态方法,代码如下:<script type="text/javascript">
function PageMethodCall()
{
var testString = "PageMethodCall";
PageMethods.Test($get('txtName').value, OnSucceeded);
}
// 页面方法调用完成的回调函数.
function OnSucceeded(result)
{
// 显示调用结果
var RsltElem = document.getElementById("Results");
RsltElem.innerHTML = result;
}
</script>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<h2>Page Method</h2>
<input ID="txtName" type="text" />
<button id="Button1"
onclick="PageMethodCall();">调用Page Method</button>
</div>
<hr/>
<div>
<span id="Results"></span>
</div>
</form>
代码页PageMethodDemo.aspx.cs[System.Web.Services.WebMethod]
public static string Test(string name)
{
return "Hello " + name + "!";
}