Jeg vil have at hvis checkbox er hakket af og man trykker på knappen skal den køre koden. Og hvis der står noget i textboxen, skal den køre den anden kode. Men skal ikke kunne hakke af i checkbox og samtidig kunne skrive noget i textbox.
protected void Button_putikurv_Click(object sender, EventArgs e) { string StandardFrugter = "Bruger har valgt standard mix"; if (CheckBox_standard.Checked) {
int totalvaerdi = 0; int totalvaerdiGroent = 0; List<ValgtFrugt> valgteFrugter = new List<ValgtFrugt>(); //Her laver jeg en liste over valgte frugter. Det er et nyt objekt, som kan indeholde påde ID, Navn, Antal og Værdi List<ValgtGroent> valgteGroent = new List<ValgtGroent>(); foreach (RepeaterItem item in VisProdukt.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { TextBox Textbox_antal = item.FindControl("TextBox_frugt") as TextBox; TextBox Textbox_groent = item.FindControl("TextBox_groent") as TextBox; if (Textbox_antal == null) continue; //Tekstboksen blev ikke fundet, så ingen grund til at lave mere her. if (Textbox_groent == null) continue;
string frugtNavn = Textbox_antal.Attributes["FrugtNavn"]; //Det her skal vel være en streng!? int enkeltFrugtVaerdi = int.Parse(Textbox_antal.Attributes["FrugtVaerdi"]);
string GroentNavn = Textbox_groent.Attributes["GroentNavn"]; //Det her skal vel være en streng!? int enkeltGroentVaerdi = int.Parse(Textbox_groent.Attributes["GroentVaerdi"]);
if (Textbox_groent != null && Textbox_antal.Text != null) { if (string.IsNullOrEmpty(Textbox_groent.Text)) {
Textbox_groent.Text = "0"; } if (string.IsNullOrEmpty(Textbox_antal.Text)) { Textbox_antal.Text = "0";
} } if (Textbox_antal.Text != null) {
if (string.IsNullOrEmpty(Textbox_antal.Text)) { Textbox_antal.Text = "0";
} }
int enkeltFrugtAntal = int.Parse(Textbox_antal.Text); int enkeltGroentAntal = int.Parse(Textbox_groent.Text);
if (enkeltFrugtAntal > 0) { ValgtFrugt frugtenDerskalTilfoejes = new ValgtFrugt(); //Opret frugten og angiv værdier frugtenDerskalTilfoejes.FrugtNavn = frugtNavn; frugtenDerskalTilfoejes.FrugtVaerdi = enkeltFrugtVaerdi; frugtenDerskalTilfoejes.Antal = enkeltFrugtAntal; valgteFrugter.Add(frugtenDerskalTilfoejes);
} if (enkeltGroentAntal > 0) { ValgtGroent GroentnDerskalTilfoejes = new ValgtGroent(); //Opret frugten og angiv værdier GroentnDerskalTilfoejes.GroentNavn = GroentNavn; GroentnDerskalTilfoejes.GroentVaerdi = enkeltGroentVaerdi; GroentnDerskalTilfoejes.AntalGroent = enkeltGroentAntal; valgteGroent.Add(GroentnDerskalTilfoejes); }
}
}
if (totalvaerdi == 14 && totalvaerdiGroent == 7) //Det her skal vel være "Mindre end" eller lig 7, for ellers kan du bestille over 7 frugter { Session["ValgteFrugter"] = valgteFrugter; Session["ValgteGroent"] = valgteGroent;//Her lægger jeg dem bare i en session-variabel, så kan jeg lægge dem ind i databasen når det er bekræftet. Response.Redirect("bekraeft.aspx");
}
else {
Label_vis.Text = "Du kan kun bestille 7 stk frugt"; } } }
Taler vi så om at du vil enable/disable felterne? I så fald er det vel mere en javascript-løsning du er ude i - ellers ville du skulle lave postback og det bliver nok lidt vel tungt.
Du ville så stadig ende op med bare en if/else-sætning - eventuelt hvor du først validerer at ikke begge felter af "active".
if (CheckBox_standard.Checked && string.IsNullOrEmpty(dintekstbox.text)) { //checkboxkode } else if (!string.IsNullOrEmpty(dintextbox.text) && !CheckBox_standard.Checked) { //textboxkode } else { //ugyldigt valg }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.