JAg skall anropa en metod från ex, frame.aspx.cs som ligger på master.aspx.cs Svaret ligger i att du måste dela ut dina medlemmar som shared eller public (beror på vad du ska ha dem till) och sedan instansiera dem i frams.aspx.cs.Problem med att anropa metod mellan olika aspx.cs sidor!
och får felmeddelandet "An object reference is required for the nonstatic field, method, or property 'member'"
member är tagi,product,x,y,time,lager,output
frame.aspx.cs;
<code>
private void DynamicBtnClicked(object sender, System.Web.UI.ImageClickEventArgs e)
{
string tagId ="1122"; //((ImageButton)sender).ID;
WebTest.WebForm1.select(tagId);
}
</code>
master.aspx.cs;
<code>
public static void select(string tagId)
{
string SQLselect = "[selectTag]";
OleDbConnection db1Connection = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;" +
"Initial Catalog=testDB");
OleDbCommand selectCommand = new OleDbCommand(SQLselect, db1Connection);
selectCommand.CommandType = CommandType.StoredProcedure;
OleDbParameter param = selectCommand.Parameters.Add("@tagId", OleDbType.VarChar, 10);
param.Direction = ParameterDirection.Input;
param.Value = tagId;
param = selectCommand.Parameters.Add("@xCoord",OleDbType.VarChar, 10);
param.Direction = ParameterDirection.Output;
param = selectCommand.Parameters.Add("@yCoord",OleDbType.VarChar, 10);
param.Direction = ParameterDirection.Output;
param = selectCommand.Parameters.Add("@timeStamp",OleDbType.VarChar, 10);
param.Direction = ParameterDirection.Output;
param = selectCommand.Parameters.Add("@lagerPlats",OleDbType.VarChar, 10);
param.Direction = ParameterDirection.Output;
try
{
db1Connection.Open();
selectCommand.ExecuteNonQuery();
string tagid = selectCommand.Parameters["@tagId"].Value.ToString();
string xCoord = selectCommand.Parameters["@xCoord"].Value.ToString();
string yCoord = selectCommand.Parameters["@yCoord"].Value.ToString();
string timeStamp = selectCommand.Parameters["@timeStamp"].Value.ToString();
string lagerPlats = selectCommand.Parameters["@lagerPlats"].Value.ToString();
tagi.Text = tagid;
x.Text = xCoord;
y.Text = yCoord;
time.Text = timeStamp;
lager.Text = lagerPlats;
}
catch (Exception e)
{
output.Text = "Felmeddelande:\n{0}"+ e.Message;
}
finally
{
db1Connection.Close();
}
}
</code>Sv: Problem med att anropa metod mellan olika aspx.cs sidor!
Jag är inte så himmla bra på c# men deklarationen av t ex tagID verkar vara
<code>
string tagID
</code>
Det ger väl en lokal deklaration innanför din try...catch och då kan den knappast nås från frame.aspx.cs.
//Mikael.NET