2011-10-12 55 views
-1
[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(); 
    } 
} 

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

回答

4

我猜的错误是在这条线:

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

你不能从一个静态方法来访问实例字段。在你的情况下,你不能从ASP.NET PageMethod访问UI控件。为了达到这个目的,你可以修改你的页面方法来返回结果,然后把它从客户端分配到相应的字段。

+0

但我不能使用数据表在clint端和csv文件列名无法使用我的文件是“Microsoft Office Excel逗号分隔值文件”我试图在java脚本中做它,但它似乎不可能读取具体的数据,因为我是在发展方面新 –

+0

错误是在文本框控制 –

+0

@RaniaUmair,CSV文件的查询仍然会在服务器上完成,你只会返回结果给客户'return dt.Rows [0 ] [7]的ToString();'。然后在客户端,使用JavaScript,您将分配此结果到相应的DOM元素。 –

相关问题