Problemer ved PostBack
Hej,Jeg har en søgefunktion på en side, hvor jeg vil have at brugeren, ved at klikke på en knap, selv skal bestemme, hvordan der sorteres....
Knapperne på siden er Navn, Kategori og Points
Når jeg klikker første gang på en af knapperne, så fungerer det perfekt, men når jeg så forsøger at klikke på en anden knap, så gør den...ingenting.... Den fejler ikke, og jeg kan se, at den også går ind i funktionen med korrekt ORDER BY variabel....
Nogen der kan forklare mig hvad der går galt?
Min kode for en af knapperne (de er identiske bortset fra ORDER BY variablen (som er
string sorttext = "OpskriftNavn";
string sorttext = "KategoriNavn";
string sorttext = "Points";)
Koden:
protected void btnSimpelSortPoints_Click(object sender, EventArgs e)
{
SoegApi soegapi = new SoegApi();
//Her søger jeg i databasen efter søgeordet (simpel søgning)
DataTable seekresult = null;
string seektext = Convert.ToString(Session["SeekText"]);
lblSeekText.Text = Convert.ToString(Session["SeekText"]);
//Søg efter Navn
string sorttext = "Points";
if (soegapi.GetSeekSimpelSort(seektext, sorttext, ref seekresult) == Status.Success)
{
repSeekSimpel.DataSource = seekresult.DefaultView;
repSeekSimpel.DataBind();
hidepanels();
if (seekresult.Rows.Count > 0)
{
panSeekResultPositive.Visible = true;
}
else
{
panSeekResultNegative.Visible = true;
}
}
else
{
}
soegapi.Dispose();
}
og
public Status GetSeekSimpelSort(string seekstring, string sortstring, ref DataTable SeekSimpel)
{
Status status = Status.Failure;
DataRow r = null;
DataTable AItems = new DataTable();
try
{
AItems.Columns.Add(new DataColumn("OpskriftId", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("OpskriftNavn", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Ingredienser", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Fremgangsmaade", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Servering", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Points", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Dato", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("Print", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("BrugerNavn", Type.GetType("System.String")));
AItems.Columns.Add(new DataColumn("KategoriNavn", Type.GetType("System.String")));
command.CommandText = "SELECT Opskrift.OpskriftId, Opskrift.OpskriftNavn, Opskrift.Ingredienser, Opskrift.Fremgangsmaade, Opskrift.Servering, Opskrift.Points, Opskrift.Dato, Opskrift.Print, Bruger.BrugerNavn, Kategori.KategoriNavn FROM (Kategori INNER JOIN Opskrift ON Kategori.KategoriId=Opskrift.KategoriId) INNER JOIN Bruger ON Opskrift.BrugerId=Bruger.BrugerId WHERE Opskrift.OpskriftNavn Like '%" + @seekstring + "%' OR Opskrift.Ingredienser Like '%" + @seekstring + "%' OR Opskrift.Fremgangsmaade Like '%" + @seekstring + "%' OR Opskrift.Servering Like '%" + @seekstring + "%' ORDER BY @sortstring ASC";
command.Parameters.Clear();
command.Parameters.Add(new OleDbParameter("@seekstring", seekstring));
command.Parameters.Add(new OleDbParameter("@sortstring", sortstring));
OleDbDataReader myReader = command.ExecuteReader();
//går gennem tabellen og lægger ind i rækker
while (myReader.Read())
{
r = AItems.NewRow();
try
{
r["OpskriftId"] = (myReader["OpskriftId"]);
r["OpskriftNavn"] = (myReader["OpskriftNavn"]);
r["Ingredienser"] = (myReader["Ingredienser"]);
r["Fremgangsmaade"] = (myReader["Fremgangsmaade"]);
r["Servering"] = (myReader["Servering"]);
r["Points"] = (myReader["Points"]);
r["Dato"] = (myReader["Dato"]);
r["Print"] = (myReader["Print"]);
r["BrugerNavn"] = (myReader["BrugerNavn"]);
r["KategoriNavn"] = (myReader["KategoriNavn"]);
}
catch
{ }
//Tilføjer rækken til datatable
AItems.Rows.Add(r);
}
myReader.Close();
SeekSimpel = AItems;
status = Status.Success;
}
catch
{ }
return status;
}
mvh
simsen :-)