首先讲一下需求: 需求是在页面几张图片和一个gv ,当鼠标经过的时候,根据图片ID,绑定gv
然后 我在图片的onmouseover中想调用后台的绑定gv的方法 public void Banding(string id); 参数是图片的ID,方法是根据ID绑定gv
public string Banding(string id)
{
DataSet ds = wh_newsBll.GetList(8, "type_id=" + id, "news_time");
this.gvShowNews.DataSource = ds.Tables[0];
this.gvShowNews.DataBind();
} 然后我就找 如何在js里调用后台带参数的方法
结果找到的答案最多的就是1protected string CsharpVoid(string strCC)
2{
3 strCC = "你好!" + strCC;
4 return strCC;
5}前台JS
1 function Init()
2 {
3 var v = "中国";
4 var s = '<%=CsharpVoid("'+v+'") %>';
5 alert(s);
6 }
可是这样 要么后台是有返回值的方法 要么就是 传递的参数就是 +v+ 根本不行 (或者是我没有试出来)
然后我就开始用ajax 在js里调用后台方法 大体方法是
1 该方法为public
2 该方法为静态方法
3 scriptManager的EnablePageMethods属性为true
4 方法上添加[webMethod]然后这样我试了试 一直提示我调用的那个方法找不到 后来我又找自己
原因是要在类 前面加[System.Web.Script.Services.ScriptService] 前台才能访问到
(ps: 你说那些人 要是给个解决方法就给的详细点 老弄点含糊不清的东西)
然后继续调用的时候 就做不下去了
static方法是静态的 你没法给它指定this
也就是说 在static里如何绑定gv控件
我的Banding方法修改为
public static void Banding(string id)
{
DataSet ds = wh_newsBll.GetList(8, "type_id=" + id, "news_time");
this.gvShowNews.DataSource = ds.Tables[0];
this.gvShowNews.DataBind();
}
编译不通过 this无法调用
求解 我该如何继续
(找答案的过程中 我发现很多人 都是说了一点 然后其他的都让你怎么怎么着 , 我们项目经验少所以才需要指点)
然后 我在图片的onmouseover中想调用后台的绑定gv的方法 public void Banding(string id); 参数是图片的ID,方法是根据ID绑定gv
public string Banding(string id)
{
DataSet ds = wh_newsBll.GetList(8, "type_id=" + id, "news_time");
this.gvShowNews.DataSource = ds.Tables[0];
this.gvShowNews.DataBind();
} 然后我就找 如何在js里调用后台带参数的方法
结果找到的答案最多的就是1protected string CsharpVoid(string strCC)
2{
3 strCC = "你好!" + strCC;
4 return strCC;
5}前台JS
1 function Init()
2 {
3 var v = "中国";
4 var s = '<%=CsharpVoid("'+v+'") %>';
5 alert(s);
6 }
可是这样 要么后台是有返回值的方法 要么就是 传递的参数就是 +v+ 根本不行 (或者是我没有试出来)
然后我就开始用ajax 在js里调用后台方法 大体方法是
1 该方法为public
2 该方法为静态方法
3 scriptManager的EnablePageMethods属性为true
4 方法上添加[webMethod]然后这样我试了试 一直提示我调用的那个方法找不到 后来我又找自己
原因是要在类 前面加[System.Web.Script.Services.ScriptService] 前台才能访问到
(ps: 你说那些人 要是给个解决方法就给的详细点 老弄点含糊不清的东西)
然后继续调用的时候 就做不下去了
static方法是静态的 你没法给它指定this
也就是说 在static里如何绑定gv控件
我的Banding方法修改为
public static void Banding(string id)
{
DataSet ds = wh_newsBll.GetList(8, "type_id=" + id, "news_time");
this.gvShowNews.DataSource = ds.Tables[0];
this.gvShowNews.DataBind();
}
编译不通过 this无法调用
求解 我该如何继续
(找答案的过程中 我发现很多人 都是说了一点 然后其他的都让你怎么怎么着 , 我们项目经验少所以才需要指点)
解决方案 »
- ASP.NET 实现打印方式
- asp.net中利用JS调用Delphi开发的ocx里面的方法提示对象不支持此属性或方法
- Forms 验证怎么样设置为当前窗口有效?
- 二级域名和三级域名到底和顶级域名有何区别,不是一样用么?在我看来都是提供一个网站而已,不知重要区别究竟在哪里,请网络专家讲讲。
- 谁个高手给我说说…………谢了
- ASP.NET配置问题
- 请问把指定文件写入到http内容输出流的问题
- 数据上传代码方法,希望得到各位前辈的指点。
- 关于Web.config中控制用户访问权限的问题!
- 对控件进行升级时,如何兼顾兼容性、合理性、扩展性问题?
- 求一个sql语句。。。。按排名单位间隔查询。。。
- 求高手给个asp.net批量上传带预览的源码
ajaxpro是第三方控件吗 调用的饿后台的方法也必须是static的么
如果是static方法 怎么在static方法里绑定控件?
最好用jquery 不必和数据源控件打交道
可以参照这个帖子
然后在后台pageload里根据传递的参数进行判断是否执行某方法。
例如:
前台:
function ajaxSubmit()
{
var param="T";
var imgId=$("#imageId").val();
$.post("test.aspx",{param:param,imgId:imgId},
function(data)
{
alert(data.toString());
});
}
后台
pageload里:
if(Request.Form["param"]!=null&&Request.Form["param"].ToString()!="")
{
AjaxSubmit(Convert.ToInt32(Request.Form["imgId"].ToString()));
}需要执行的函数:
private void AjaxSubmit(int imgId)
{
do something;
}