当前位置:编程学习 > C#/ASP.NET >>

救助:aspx页面A怎么执行ascx用户控件B中的方法

aspx页面A:

   这里怎么执行ascx用户控件B中的BindGH(gh)以便绑定用户控件中的GridView1?

ascx用户控件B:

void BindGH(string Gong)
    {
        string sqlstr = "Select * From LHB_USER_DATA where LHB_Group=4 and LHB_GongHao='" + Gong + "'";
        SqlConnection sqlcon = new SqlConnection(connStr);
        SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
        DataSet myds = new DataSet();
        sqlcon.Open();
        myda.Fill(myds);
        DataView view = myds.Tables[0].DefaultView;
        GridView1.DataSource = view;
        GridView1.DataBind();
        sqlcon.Close();
    } --------------------编程问答-------------------- 有高手帮忙回答一下吗? --------------------编程问答-------------------- 你这个B控件是在页面A上面的吗?是的话,直接调用就好嘛 --------------------编程问答-------------------- 直接用!
不行,就 NEW 类,实例来用! --------------------编程问答-------------------- GridView1在B上!没法在A上使用BindGH()来绑定它! --------------------编程问答-------------------- 有人能帮忙解决一下吗?找了很久都找不到方法!哎! --------------------编程问答-------------------- 将ascx用户控件B拖至aspx页面A中,运行即可 --------------------编程问答-------------------- 在.ascx上写上html代码,再在.ascx.cs上写上void BindGH代码,再注册ascx就好了 --------------------编程问答--------------------
引用 7 楼 flhc2010 的回复:
在.ascx上写上html代码,再在.ascx.cs上写上void BindGH代码,再注册ascx就好了


就是这样做的,但是怎么在A上执行BindGH呢?关键问题在这儿! --------------------编程问答-------------------- 声明为 public void BindGH

使用时:用户控件ID.BindGH --------------------编程问答--------------------
引用 9 楼 sq_zhuyi 的回复:
声明为 public void BindGH

使用时:用户控件ID.BindGH


在B上定义了:

public void BindGH(string Gong)
    {
        string sqlstr = "Select * From LHB_USER_DATA where LHB_Group=4 and LHB_GongHao='" + Gong + "'";
        SqlConnection sqlcon = new SqlConnection(connStr);
        SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
        DataSet myds = new DataSet();
        sqlcon.Open();
        myda.Fill(myds);
        DataView view = myds.Tables[0].DefaultView;
        GridView1.DataSource = view;
        GridView1.DataBind();
        sqlcon.Close();
    }

A上还是找不到 --------------------编程问答--------------------
引用 9 楼 sq_zhuyi 的回复:
声明为 public void BindGH

使用时:用户控件ID.BindGH
用户控件ID.BindGH --------------------编程问答-------------------- Admin_Execute.BindGH(gh);

提示:

编译器错误消息: CS0120: 非静态字段、方法或属性“Admin_Execute.BindGH(string)”要求对象引用
--------------------编程问答-------------------- 楼主我对你无语了

a.aspx
<%@ Register TagName="userControl" TagPrefix="uc" Src="~/WebUserControl.ascx" %>
<uc:userControl ID="uc1" runat="server" />

a.aspx.cs

uc1.BindGH("") --------------------编程问答-------------------- 搞定了,没看到ID="uc1" 里面多了一个1!

谢谢! --------------------编程问答-------------------- 接分了

  回复内容太短了!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,