首先讲一下需求: 需求是在页面几张图片和一个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无法调用
求解 我该如何继续
(找答案的过程中 我发现很多人 都是说了一点 然后其他的都让你怎么怎么着 , 我们项目经验少所以才需要指点)
解决方案 »
- 难题一道,寻解!
- XML解析错误:未找到元素
- 复制多个控件时,当事件触发时能知道是哪个复制的控件引发的吗?100分全送了
- 在asp.net中操作xml出现读取访问被拒绝的问题
- 配置文件中无法识别的标记“Form”
- 項目部屬問題。
- 我想动态的添加文件夹可以实现吗?用代码来上传模板,但要建文件夹,给难住了
- session的传值问题
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (prov
- 我有个问题相当不理解:.net这么先进的技术,datagrid号称能实现分页,但它的分页怎么那么白痴啊!
- 求一个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;
}