Problemer med panel i placeholder
HejJeg forsøger at putte en panel i en placeholder, men hver gang jeg putter en panel ind, forsvinder den forrige.
min kode ser således ud :
#code start
Panel[] lstFeature = new Panel[5];
TextBox rating = new TextBox();
chkFeature.CheckedChanged += new EventHandler(FeaturePannel);
lstFeature[features-1] = new Panel();
plhSearchHolder.Controls.Add(lstFeature[features-1]);
private void FeaturePannel(object sender, System.EventArgs e)
{
CheckBox chkFeat = new CheckBox();
chkFeat = (CheckBox)sender;
string fId = chkFeat.ID;
int featix = Int32.Parse(fId);
if (chkFeat.Checked)
{
rating.Text = "test";
lstFeature[featix-1].Controls.Add(rating);
}
else
{
lstFeature[featix-1].Controls.Remove(rating);
}
lstFeature[featix-1].Height = featuredetailsHeight;
lstFeature[featix-1].Width = featuredetailsWith;
lstFeature[featix-1].Style.Add("top", "" + (baseTop+(space*(featix-1))) + "px");
lstFeature[featix-1].Style.Add("left", "" + featuredetailCol + "px");
lstFeature[featix-1].Style.Add("position", "absolute");
lstFeature[featix-1].EnableViewState = true;
lstFeature[featix-1].DataBind();
}
#code slut
Jeg forstår ikke helt hvorfor det ikke virker, da nedenstående virker fint blot bruger jeg
her checkBoxList.
#code start
CheckBoxList[] lstFeaturedetails = new CheckBoxList[5];
chkFeature.CheckedChanged += new EventHandler(FeaturedetailsPannel);
lstFeaturedetails[features-1] = new CheckBoxList();
plhSearchHolder.Controls.Add(lstFeaturedetails[features-1]);
private void FeaturedetailsPannel(object sender, System.EventArgs e)
{
CheckBox chkFeat = new CheckBox();
chkFeat = (CheckBox)sender;
string fId = chkFeat.ID;
int featix;
featix = Int32.Parse(fId);
// populate Featuredetail list
string sqlString = "sqlstring";
ArrayList FeaturedetailSelection = new ArrayList();
if (chkFeat.Checked)
{
MovieDb.MdbPassSqlsCommand(sqlString);
MovieDb.MdbConnectionOpen();
MovieDb.MdbExecuteReader();
pSelection featureDetails = new pSelection();
while (MovieDb.MdbDataRead())
{
featureDetails = new pSelection();
featureDetails.sName = MovieDb.MdbGetString("FeatureDetailname");
featureDetails.sValue = MovieDb.MdbGetInt("Id");
FeaturedetailSelection.Add (featureDetails);
}
MovieDb.MdbConnectionClose();
}
else
{
FeaturedetailSelection.Remove(sender);
}
lstFeaturedetails[featix-1].Height = featuredetailsHeight;
lstFeaturedetails[featix-1].Width = featuredetailsWith;
lstFeaturedetails[featix-1].Style.Add("top", "" + (baseTop+(space*(featix-1))) + "px");
lstFeaturedetails[featix-1].Style.Add("left", "" + featuredetailCol + "px");
lstFeaturedetails[featix-1].Style.Add("position", "absolute");
lstFeaturedetails[featix-1].EnableViewState = true;
lstFeaturedetails[featix-1].RepeatDirection = RepeatDirection.Horizontal;
lstFeaturedetails[featix-1].DataTextField = "sName"; // Navnet på den property på dine dataobjekter der skal være tekst
lstFeaturedetails[featix-1].DataValueField = "sValue"; //Navnet på den property på dine dataobjecter der skal være value
lstFeaturedetails[featix-1].DataSource = FeaturedetailSelection;
lstFeaturedetails[featix-1].DataBind();
}
Altså hvis jeg bruger panel så virker det ikke og hvis jeg bruger checkboxlist så virker det fint.
Hvorfor denne forskel, er der noget man skal gøre specielt når det er panel man bruger?
Er der nogen der har et bud på hvad det kan være?
