我想在.aspx里调用.cs里面的涵数datagrid里面的部分代码
<asp:TemplateColumn HeaderText="属于学年">
     <ItemTemplate >
     <% ShowXN(DataBinder.Eval(Container.DataItem, "XNID").ToString()); %>
     </ItemTemplate>
</asp:TemplateColumn>
ShowXN(int xn)在.cs文件里面
public void ShowXN(int xn)
    {
        SqlConnection conn = db.con();
        conn.Open();
        string sql = "";
        sql = "select * from JB_B_XN where id="+xn+" order by id";
        SqlCommand comm = new SqlCommand(sql, conn);
        SqlDataReader adr = comm.ExecuteReader();
        if (adr.Read())
        {
            Response.Write(adr["XNMC"].ToString());
        }
        adr.Close();
        conn.Close();
    }但是执行的时候会报错:编译器错误信息: CS0103: 当前上下文中不存在名称“Container”大家帮我看看该怎么写

解决方案 »

  1.   

    .aspx
                <Columns>
                    <asp:BoundField DataField="id" HeaderText="12" SortExpression="21" />
                </Columns>
                <Columns>
                    <asp:BoundField DataField="name" HeaderText="12" SortExpression="21" />
                </Columns>
    .cs文件
    public void ShowXN(int xn)
        {
            SqlConnection conn = db.con();
            conn.Open();
            string sql = "";
            sql = "select id,name from JB_B_XN where id="+xn+" order by id";
            SqlDataAdapter da = new SqlDataAdapter(sql ,conn);
            DataSet ds;
            da.Fill(ds, "JB_B_XN");
            datagridName.DataSource = ds;
            datagridName.DataBind();        
            conn.Close();
        }
      

  2.   

    datagrid里面显示的是学期表,学期表里面只是存储了学年的ID号,但是想显示学年名称,所以只能用ShowXN(int xn),根据XNID的值去学年表里面查询学年名称
      

  3.   

    <%# ShowXN(DataBinder.Eval(Container.DataItem, "XNID").ToString()) %>
      

  4.   

    <% ShowXN(DataBinder.Eval(Container.DataItem, "XNID").ToString()); %>是不是少了"#" 或者"=" 楼主你试一下
      

  5.   

    public string ShowXN(string xn)
        {
            SqlConnection conn = db.con();
            conn.Open();
            string sql = "";
            string strRet="";
            sql = "select * from JB_B_XN where id="+xn+" order by id";
            SqlCommand comm = new SqlCommand(sql, conn);
            SqlDataReader adr = comm.ExecuteReader();
            if (adr.Read())
            {
                strRet=adr["XNMC"].ToString();
            }
            adr.Close();
            conn.Close();
            return strRet;
        }这样试试
      

  6.   

    <% ShowXN(DataBinder.Eval(Container.DataItem, "XNID").ToString()); %>
    把分号";"去掉
      

  7.   

    <%#ShowXN(DataBinder.Eval(Container.DataItem, "XNID").ToString())%>
      

  8.   

    <% ShowXN(DataBinder.Eval(Container.DataItem, "XNID").ToString()); %>改为<%# ShowXN(DataBinder.Eval(Container.DataItem, "XNID").ToString()) %>你这个id为数字,要转换啊
      sql = "select * from JB_B_XN where id="+Convert.Int32(xn)+" order by id";
      

  9.   

    vs2005:<%#ShowXN(Eval("XNID").ToString())%>