非静态字段方法或属性需要对象引用

时间:2011-10-12 05:57:19

标签: c# asp.net

[System.Web.Services.WebMethod]
public static void GetCurrentTime(string name)
{
    string strFileName = "D://Data.csv";
    string connectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\;Extended Properties='text;HDR=Yes;FMT=Delimited';";
    OleDbConnection connection = new OleDbConnection();
    connection.ConnectionString = connectionstring;
    OleDbCommand command = new OleDbCommand();
    command.CommandType = CommandType.Text;
    command.Connection = connection;

    if (name != "")
    {
        command.CommandText = "select * from " + System.IO.Path.GetFileName(strFileName);// +" where F=" + txtmtcn.Text;
        connection.Open();
        DataTable dt = new DataTable();
        dt.Load(command.ExecuteReader());
        dt.Columns[5].ColumnName = "MTCN";
        dt.DefaultView.RowFilter = " MTCN =" + name;
        dt = dt.DefaultView.ToTable();
        TxtSenderFirstName.Text = dt.Rows[0][7].ToString();
        connection.Close();
    }
}

我得到错误“非静态字段方法或属性需要对象引用”我将如何访问我的文本框控件并在其中填充数据。

1 个答案:

答案 0 :(得分:4)

我猜错误就在这一行:

TxtSenderFirstName.Text = dt.Rows[0][7].ToString();

您无法从静态方法访问实例字段。在您的情况下,您无法从ASP.NET PageMethod访问UI控件。为此,您可以修改页面方法以返回结果,然后将其从客户端分配到相应的字段。