Hej! Det ska väl gå att loopa igenom Reguest samlingen i ASP.NET också, möjligtvis lättare än i ASP... Tack för ditt svar! Följande loopar igenom alla nycklar, alltså namn, som postats och plockar ut värdet ett efter ett... Hej!Loopa requst-samling
Har precis flyttat/tvingat över mig från asp till asp.net och det går lite trögt.
Har en fråga som retunerar en datalist med beställningar som skall exporteras till en ascii fil och senare vidare till logistik-systemet. Inga problem so fare.
Art nr Storlek Beskrivning Antal
4101 M T-shirt 1 2
4101 M T-shirt 1 2
"Antal"-fälltet är en textbox, alltså uppdateringsbar. Detta skall till en fil.
I gamlaa ASP hade jag döpt "antal"-boxen till art numret, och de andra fällten som hidden och loopat igenom request-samlingen.
Någon som har en idé på hur jag skall tänka, det står helt still i huvudet!
peterSv: Loopa requst-samling
Men vad var problemet?
Kan du inte döpa textboxarna likadant som tidigare, alltså till artikelnummer?
Kan kolla upp det.
Mvh,
ThomasSv: Loopa requst-samling
Problemet var nog att jag har använt hidden-fällt för vissa av fällten som inte får upddateras och dessa retunerar inget?! Byter jag däremot till en textbox kommer värdena med=
<Input type="Hidden" text='<%#Container.DataItem("art$nr")%>' id="art_nr" runat="server"/>
<asp:textbox text='<%#Container.DataItem("par_ant")%>' size="4" id="antal" runat="server"/>
I en loop av request retunerar;
fraktsedel:_ctl1:art_nr:
fraktsedel:_ctl1:antal: 10
Det ser helt riktigt ut i HTML koden som genereras på formulärsidan;
<input name="fraktsedel:_ctl1:art_nr" id="fraktsedel__ctl1_art_nr" type="Hidden" text="100000" />
Vad skall man göra för att få fram värdet?Sv: Loopa requst-samling
Här kan man sortera ut om det är en textbox eller liknande med hjälp av namn (key)...
<code>
Dim Key As String
Dim Value As String
For Each Key In Request.Form.Keys 'Loopa igenom alla nycklar (namn) för allt som postats
Value = Request.Form(Key) 'Hämta värdet för namnet
Next
</code>
Om allt ser ok ut i HTML koden som genereras borde värdet skickas med när du postar.
Hidden fältet är väl inom form taggen?
Mvh,
ThomasSv:Loopa requst-samling
Jag har gjort det som föreslogs i föregående inlägg och det funkar bra, men.... Om jag vill jämföra fältnamnet med en sträng så går det inte. Returnera inte request.form.key(i) en sträng?? ... eller är det ett objekt?
Jag har döpt mina fält som skickas i formuläret ungeffär så här:
cat_1
subcat_1
cat_2
subcat_2
cat_3
subcat_3 ...osv
Formuläret har skapts dynamiskt utifrån ett xml-träd.
Här är min kod...
<code>
dim i
dim fieldName
dim fieldValue
dim arrTmp
'Startar på 2 eftersom det finns flera formulär
for i=2 to request.Form.Count
fieldName = Request.Form.Key(i)
fieldValue = Request.Form.Item(i)
arrTmp=Split(fieldName, "_")
response.Write arrTmp(0) & "<br>"
if CStr(arrTmp(0))="subcat" then
response.Write "<hr>"
end if
next
</code>
Jag vill skriva ut en <hr> efter varje "subcat" men If-satsen blir alltid false. Formuläret skickas från en aspx-sida till en vanlig asp-sida.