[System.Web.Services.WebMethod]
public static string GetNote()
{
JavaScriptSerializer js = new JavaScriptSerializer();
Note n = new Note();
n.Content = txtNoteContent.Text; //想从后台取到textbox中的值不过不能在静态类中写txtNoteContent.Text会报错误 如果不用静态类
则Jquery又调不了方法请哪位高人指点下 n.Title = txtTitle.Text;
string str = js.Serialize(n);
return str; } 前台方法
$.ajax({
type:'POST',
url:"myNote.aspx/GetNote",
dataType:"json",
contentType: "application/json; charset=utf-8",
success: function (r) {
alert(r);
},
error: function (msg) { alert("e") }
})
解决方案 »
- 求助:母板页里的DropDownList,得到的值始终是第一项
- 如何判断上传的文件是安全的图片
- 虚拟主机下使用Server.MapPath出现权限问题
- 如何在一个页面加载时,url后面加上一个随机数
- 关于JS脚本解决控件刷屏的问题~~~ 请教~~~
- 关于在远程服务器上配置web.config的问题,各位帮帮忙!!!
- vs.net 2003 打不开原来项目文件
- ms.net framework 1.1
- asp.net 1.1(vs2003)下的 ie web controls 能否在 asp.net2.0(vs2005)下使用?
- 用datagrid能不能实现点一个添加按钮后自动加一个空行让用户编辑,点保存在保存到数据库中
- 不明真相的群众都来围观···
- 获取asp.net中连接字符串中的信息
这里其实返回text类型的估计更好
关键这个不能写在static方法中
在这个PageLoad里调用一个非静态方法不就可以了么,
把txtNoteContent.Text这个值作为ajax的参数
为何一定要用静态的方法?
[System.Web.Services.WebMethod]
public static string GetNote(string str)
我都是$.post(url,{data:str},function(t){
....
});
后台用Request.Form["data"]接收
如果是get方法就用Request.QueryString["data"]接收
n.Content = txtNoteContent.Text;
n.Title = txtTitle.Text;
别这么写,用方法的参数,从客户端传过来。
首先加上[AjaxPro.AjaxNamespace("TextVerify")]这个标记,然后在窗体的加载事件里面加上AjaxPro.Utility.RegisterTypeForAjax(typeof(页面名字));
你的方法:
[AjaxPro.AjaxMethod]
public string GetNote()
{
JavaScriptSerializer js = new JavaScriptSerializer();
Note n = new Note();
n.Content = txtNoteContent.Text;
n.Title = txtTitle.Text;
string str = js.Serialize(n);
return str; }前台调用:
function getque() {
var getobject = TextVerify.GetNote(callback); //返回新信息的数量
}
function callback(note) //回调函数
{
if (note.value > 0)
{
//操作
}
}
你这样试看看啊
能个JSON给他就好了.
response.write(string.Formate("{success:{0},msg:{1},data:{2}}",result,msg,dt));
详细讲解了用jQuery调用asp.net web method时需要注意的问题
http://encosia.com/2009/02/10/a-breaking-change-between-versions-of-aspnet-ajax/