Autor Beitrag
Haardy
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 11.04.13 17:17 
Hallo liebe community

Ich habe ein kleines problem
erstmal eine kleine einführung woran ich grade arbeite :
also es sollen über ein webinterface kollektionen erstellt werden (Klappt) danach kann man in die kollektions verwaltung gehen und sind alle kollektionen aufgelistet neben den aufgelisteten kollektionen ist noch eine weiterleitung auf die seite produkte hinzufügen die eingabe funktioniert auch. nur habe ich das problem das der die produkte automatisch in die kollektion speichern soll
(als beispeil wie es auf der seite aussieht :"Kollektionsname" "produkt hinzufügen" ) und sie die KollektionsID aus der Url nehmen soll und diese dann in die Produktliste einfügt.
C#-Code:
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
         protected void AddProductButton_Click(object sender, EventArgs e)
         {
             AddProduct product = new AddProduct();

             bool addSuccess = product.AddProducts(AddProductCodeNumber.Text, AddProductName.Text,DropDownAddProductTypeID.SelectedValue,GetCollectionID(collectionID.Text));
             if (addSuccess)
             {
                 string pageUrl = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Count() - Request.Url.Query.Count());
                 Response.Redirect(pageUrl + "?ProductAction=add");
             }
             else
             {
                 LabelAddStatus.Text = "Produkt konnte nicht hinzugefügt werden";
             }
         }
         public string GetCollectionID([QueryString("collectionID")]string collectionID)
         {

             return collectionID;
         } 

         public bool AddProducts(string ProductCodenumber, string ProductName, string Producttype,string collectionID)
         {

             var myProduct = new Product();

             myProduct.ProductCodeNumber =ProductCodenumber;
             myProduct.ProductName = ProductName;
             myProduct.ProductTypeID =Convert.ToDouble (Producttype);
             myProduct.CollectionID = int.Parse(collectionID);
         }

das sind denke ich mal die beiden wichtigsten dinge.
so mein problem ist jez das der nach dem drücken des konpfes"Produkt hinzufügen" mir eine fehlermeldung umd die ohren haut
Fehlermeldung:
Die Eingabezeichenfolge hat das falsche format

und streicht mir die zeile "myproduct.CollectionID=int.Parse(collectionID)" rot an.

ich danke jez schonmal für die antworten und entschuldige mich für den langen post ;)
mfg Haardy

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 11.04.13 18:58 
Hallo Haardy :welcome:

kannst du denn debuggen, was genau in der Variablen collectionID drinsteht (anscheinend keine Zahl ;-))?

P.S. Crossposts bitte immer angeben: myCSharp: Eingabezeichenfolge hat falsches format nach int.Parse (auch wenn dieser dort schon geschlossen wurde).
Haardy Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 11.04.13 19:20 
an sich sollte da was drin sthen da ich auf einer anderen seite eine kollektion erstelle und die Collection id is der key in der grund cs datei ;)

achso gut weiss ich bescheid denk ich beim nächsten mal dran ;)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 11.04.13 19:56 
Oder laß dir doch einfach mal den String in LabelAddStatus.Text ausgeben (und kommentiere die int.Parse-Zeile temporär mal aus).

Was mir noch einfällt: die Parse-Methode liefert auch diesen Fehler bei Leerzeichen (am Anfang oder Ende). Du könntest dann
ausblenden C#-Quelltext
1:
myproduct.CollectionID = int.Parse(collectionID.Trim())					

mal versuchen.

Und dann ist mir noch aufgefallen, daß du bei der Zeile drüber Convert.ToDouble(...) anstatt double.Parse(...) benutzt - du solltest einheitlich die Parse-Methode (oder um Exceptions abzufangen besser noch die TryParse-Methode benutzen).
Haardy Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 11.04.13 21:30 
ok werde ich morgen mal testen ;) und zu dem convert.todouble is noch von davor ;) also der rest is halt testen gewesen ;)