C# 从c中的另一个函数调用函数

C# 从c中的另一个函数调用函数,c#,asp.net,C#,Asp.net,我有一个按钮点击事件,它将注释文本从文本框插入数据库。现在我需要调用一个函数,在点击插入注释按钮的点击事件后显示注释。下面是代码 使用此代码,我将文本插入数据库 protected void cmt_Click(object sender, EventArgs e) { //DateTime.Now.ToString(); Button btn = (Button)sender; DataListItem dli = (DataListItem)btn.NamingC

我有一个按钮点击事件,它将注释文本从文本框插入数据库。现在我需要调用一个函数,在点击插入注释按钮的点击事件后显示注释。下面是代码

使用此代码,我将文本插入数据库

 protected void cmt_Click(object sender, EventArgs e)
{

    //DateTime.Now.ToString();
    Button btn = (Button)sender;
    DataListItem dli = (DataListItem)btn.NamingContainer;
    TextBox tx = (TextBox)dli.FindControl("tb_cmt");
    Label lb = (Label)dli.FindControl("lbl_sid");
    string userid = Session["userid"].ToString();

    sq.connection();
    SqlCommand cmd = new SqlCommand("insert into comment(ecomment,sid,my_date,reg_id) values(@myecomment,@mysid,@mydate,@reg_id)", sq.con);
    cmd.Parameters.AddWithValue("@myecomment", tx.Text);
    cmd.Parameters.AddWithValue("@mysid", lb.Text);
    cmd.Parameters.AddWithValue("@mydate", DateTime.Now.ToString("h:mm, MMM  dd, yyyy"));
    cmd.Parameters.AddWithValue("@reg_id", userid);
    cmd.ExecuteNonQuery();
    sq.con.Dispose();
    sq.con.Close();
    tx.Text = "";

    //bind_dlcmt( 1 );

}
下面是显示来自数据库的注释的代码

 public void showdata()
{
    string str = gstr;
    sq.connection();
    SqlCommand cmd = new SqlCommand("select * from sub_catTbl where sid='" + str + "' ", sq.con);
    //SqlCommand cmd = new SqlCommand("select * from sub_catTbl", sq.con);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);

    mydatalist.DataSource = dt;
    mydatalist.DataBind();
    sq.con.Dispose();
    sq.con.Close();


    foreach (DataListItem dli in mydatalist.Items)
    {
        bind_dlcmt(dli.ItemIndex);
        //blin_dlcmt();

    }
}

 public void bind_dlcmt(int itm_indx)
{
    string str = gstr;
    //int sid = Convert.ToInt32(mydatalist.DataKeys[itm_indx]);
    sq.connection();
    SqlCommand cmd = new SqlCommand("select top 4 * from comment where sid='" + str + "' order by my_date desc", sq.con);
    //SqlCommand cmd = new SqlCommand("select * from comment where sid=@sid ", sq.con);
    //cmd.Parameters.AddWithValue("@sid", sid);
    SqlDataReader sdr = cmd.ExecuteReader();

    DataList dl = (DataList)mydatalist.Items[itm_indx].FindControl("dl_cmt");
    dl.DataSource = sdr;
    dl.DataBind();
}

我需要调用cmt\u Click button Click事件最后一行中的函数binddlcmt。由于函数中有一个参数,我不确定如何调用该函数。

那么您想知道如何在button Click事件处理程序中获取项索引吗

使用:


MVC通知控制器一个数据更改,然后触发GUI更新,这不是更好吗?为什么您认为OP使用的是MVCV?这是普通的ASP.NET,OP正在尝试将DataListView的DataListItem的索引传递给服务器上的另一个方法。。。好的,忘了我的评论。@TimSchmelter当我调用bind_dlcmt时,它应该显示刚刚插入的更新数据,但是..当我单击按钮时,什么也不显示。@sum1:恐怕我不理解问题的原因。也许你应该澄清你的问题,这样其他人可以帮助你。
protected void cmt_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;
    DataListItem dli = (DataListItem)btn.NamingContainer;
    // ...
    bind_dlcmt( dli.ItemIndex );
}