Nogle spørsmål: Arbejder du i Visual Studio? Lavder du code behind til aspx-filen, sådan at du i realiteten kalder guitar.cs fra en anden cs-fil? Har du i den solution oprettet en reference til guitar.dll? Har de to filer samme namespace, og hvis ikke, har du oprettet et using direktiv som viser til guitar.cs' namespace? Det ville være en god idé at erklære en reference til et guitar-objekt inden du begynder at oprette dine "new" guitars.
hmmm og jeg kan godt fortelle dig hvad du skal gøre i Visual Studio .NET, men ikke i Web Matrix, sorry... Men prøv at initialisere guitar class inden du laver "new guitar("","",""), det er i alle fald en sandsynlig årsag til problemerne.
guitar myguitar;
skrives først i Page_Load, inden du adder noget til din ArrayList.
En anden variant vil være: guitar myguitar1 = new guitar("mike", "williams", "1942"); guitar myguitar2 = new guitar("mike", "williams", "1942"); myAL.add(myguitar1); myAL.add(myguitar2);
Det er bare ikke der problemet ligger... at skrive: guitar myguitar1 = new guitar("test","hehe","1421"); og bare new guitar er i princippet det samme når man snakker om at tilføje den til et array f.eks.... Eftersom man da giver det samme objekt til arrayet så der er slet ingen pointe i at initialisere først... problemet er at det virker som om jit-compileren ikke ved hvordan den skal behandle min klasse selvom jeg har inkluderet den korrekt(så vidt jeg kan se er logisk) og det er det som jeg gerne vil have svar på hvad jeg har gjort forkert.
ninakir>> slemt at være så afhængig af sit IDE at man ikke kan skrive noget kode selv ;) (jeg kan forresten sige at kode skrevet i vs.net ikke er forskellige fra kode skrevet i f.eks. webmatrix eller notepad så jeg kan ikke helt se hvad du mener med at du ved hvordan man skal gøre det i vs.net.
lighterus>> umiddelbart ville jeg sige at fejlen lå i at du skal smide dllfilen i binmappen og ikke samme dir som aspxfilen, men siden compileren kan brokke sig over at du ikke den rigtige constructer må den kende til din klasse. HVIS du bruger den kode ninakir foreslog, altså først en instans af guitar og derefter adder den til arrayet... brokker den sig så?
jeg har forsøgt... jeg kan godt oprette et objekt på den måde cyberfessor... men selvom jeg har to constructors(eller en) og ligemeget hvad så påstår den at et guitar objekt ikke kræver 3 argumenter :(
Nåda... Så vidt så godt... Jeg har nu fundet ud af at den slet ikke har fat i min Guitar klasse... Så et svar på hvordan jeg bærer mig ad med at få min Guitar klasse inkluderet på min aspx side(hvor præcist den skal ligge lokalt, hvis man bruger IIS og om den skal compiles manuelt eller ej) vil give pointene... :)
altså... som jeg tidligere har sagt, så SKAL den lille i din binmappe som ligger i roden af din application, f.eks. c:\inetpub\wwwroot\bin <- hvis alle indstillinger er default.
På din aspxside skal du derefter sørge for at lave en <%@ Import %> af dit namespace.
Ser man det... Nu virker det skam... men jeg blev nødt til at ændre strukturen på min guitarklasse:
namespace Guitar {
public class Guitar { public string monkey; public string say;
public Guitar() { //..Code for the Constructor } public string Abeliste // this will be displayed in the column Header in the DataGrid { get { return monkey; // this will be displayed in the data field of the DataGrid } set { monkey = value; } } public string Ordliste{ get { return say; } set { say=value; } } //... Rest of properties }
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.