71 messaggi dal 06 settembre 2007
Ciao a tutti,

vi espongo il mio problema:

1) ho una pagina .aspx in cui c'è una textbox, una gridview e un objectdatasource;
2) ho il corrispondente file di code behind .cs;
3) ho scritto una classe .cs con i metodi che usa l'objectdatasource.

Il problema è che il terzo file, quello dei metodi che usa l'objectdatasource, non vede i controlli web della pagina .aspx, ad esempio la textbox.

ho provato a fargli ereditare System.Web.UI.Page ma niente da fare.

Cosa ho sbagliato?

Grazie
daniga
a vole passare gli oggetti del namespace System.Web.UI ecc ecc ad una classe che si occupa dell'accesso dati.

passa solo tipi primitivi come string, int ecc ecc

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
71 messaggi dal 06 settembre 2007
ok ma come faccio a dire al metodo che fa la select che il parametro di input corrisponde al testo digitato nella textbox che si trova nella pagina .aspx?
con i ControlParameter del ObjectDataSource

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
71 messaggi dal 06 settembre 2007
il metodo select è il seguente:
//Metodo SELECT
public SqlDataReader SelezionaServer(string SERVER, string IP_address, string Progetto, string Ambiente, string Logico, string IP_logico)
{
TextBox TextBox1 = new TextBox();
string SERVERNAME = TextBox1.Text;

string SictEAIConnStr = ConfigurationManager.ConnectionStrings["SictEAIConnectionString"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(SictEAIConnStr);

SqlCommand myCommand = new SqlCommand("SELECT T_Sict_EAI.SERVER, T_Sict_EAI.IP_address, T_Sict_EAI.Progetto, T_Sict_EAI.Ambiente, T_Sict_EAI.Logico, T_Sict_EAI.IP_logico
FROM T_Sict_EAI WHERE (T_Sict_EAI.SERVER = @SERVER)", sqlConn);


sqlConn.Open();
if (SERVER != null)
{
myCommand.Parameters.Add("@SERVER", SqlDbType.NVarChar).Value = SERVERNAME;
}
else
{
myCommand.Parameters.Add("@SERVER", SqlDbType.NVarChar).Value = System.DBNull.Value;
}
//myCommand.Parameters.Add("@SERVER", SqlDbType.NVarChar).Value = TextBox1.Text;
SqlDataReader reader = myCommand.ExecuteReader();
return reader;

sqlConn.Close();

}

Il problema è che il metodo non riceve nulla come parametro perchè non riconosce il controllo TextBox1 nel file .aspx
non devi farli "riconoscere" nulla, ObjectDataSource ha la proprietà:


 <selectparameters>
            <asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
          </selectparameters>



questo frammento di codice preso da msdn mostra l'uso di un QueryStringParameter te devi usare un ControlParameter

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
71 messaggi dal 06 settembre 2007
avevi ragione, non stavo utilizzando correttamente la proprieta&acute; selectparameter dell'objectdatasource.

Grazie mille
daniga

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.