2011-10-12 115 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元素。 –

相關問題