【问题标题】:ERROR: Cannot convert method group 'CopyToDataTable' to non-delegate type 'System.Data.DataTable'. Did you intend to invoke the method?错误:无法将方法组“CopyToDataTable”转换为非委托类型“System.Data.DataTable”。您是否打算调用该方法?
【发布时间】:2013-10-23 07:54:07
【问题描述】:

嗨,如何解决这个问题?我试图在我的 rowdatabound 事件中执行此操作

protected void RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgse)
{
    if (e.Row.RowType == DataControlRowType.DataRow) {
    //If str = "0" Then
    string QNo = "";
    QNo = e.Row.Cells[0].Text;
        DataTable dtChoice_2;
        dtChoice_2 = dtChoice_2.Select("QuestionID = '" + QNo + "'").CopyToDataTable;
        RadioButtonList RadioBtnList = (RadioButtonList)e.Row.FindControl("RdChoices");
        RadioBtnList.DataSource = dtChoice_2;
    RadioBtnList.DataValueField = "ChoiceID";
    RadioBtnList.DataTextField = "ChoiceDescription";
    RadioBtnList.DataBind();
    }
}

【问题讨论】:

  • dtChoice 定义在哪里?
  • 你在哪里声明和初始化dtChoice
  • 变量dtChoice 未设置为任何值,甚至未在该方法中定义。是否声明为 aspx.cs 类的字段?
  • 数据表调用错误,我的 dtchoice 用于页面加载。但是我能够解决这个问题,但我的代码仍然给我一个错误。
  • 那么你现在得到了什么错误?

标签: c# asp.net datatable


【解决方案1】:

CopyToDataTable是一个方法,需要在方法名后面加上括号

dtChoice_2 = dtChoice.Select("QuestionID = '" + QNo + "'").CopyToDataTable();
                                                                           ^^^

【讨论】:

  • 我复制并粘贴了这个,它又给了我一个错误:错误:使用未分配的局部变量'dtChoice_2'
  • 显然dtChoice 是要复制的行的来源,而不是 dtChoice_2。该变量由 CopyToDataTable() 初始化。
猜你喜欢
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-27
  • 2017-06-23
  • 1970-01-01
  • 2015-12-24
  • 1970-01-01
相关资源
最近更新 更多