Hej gurus! Hej, spontant skulle jag använda en checkboxlista istället för bara rena checkboxar. På så sätt när du submittar din sida så har du lätt att hämta ut dessa värden. Resultatet lägger du sedan i en response.redirect till din nästa sida. Just nu har jag inte möjligheten att kunna publicera all kod på ett vettigt sätt. Jag har nog funderat ut hur jag ska få till det, bara jag nu kunde få min checkbox att fungera. Har googlat en hel del, men hittar inte riktigt varför detta inte fungerar. Kan någon hälpa mig? Hej igen! Har du problem med att IsPostback = false på alla sidor eller bara den här? Få med mig checkbox-värden till annan aspx-sida
Har vissa kunskaper i VB/.NET, men tydligen inte tillräckliga :(
Jag har en lista på en massa personer i en aspx-sida där alla rader har en egen checkbox-ruta. Respektive box har naturligtvis ett id-värde som fylls på från databasen. På en annan sida har jag byggt upp en epost-funtion där jag vill att ett epost skickas ut till de personer som jag valt på förra sidan. Kan någon hjälpa mig hur jag ska hantera/tänka detta?
Det kommer aldrig att hanteras mer än 10 ifyllda checkboxar på sida 1, varför det skulle vara möjligt att lägga in alla id-värden i en querystring som sedan separeras på sida 2.
Kruxet är att epostmeddelandet som skapas på sidan 2 ser lite olika ut beroende på vilka uppgifter som finns i databasen för respektive person. På sidan 2 behöver jag alltså en loop för alla id-värden som finns i querystring eller på något annat fiffigt sätt kan föras över till nästa sida.
OBS
Jag vill inte lägga in epost-funktionen på samma aspx-sida som urvalet. Då kraschar jag hela mitt tänk och får börja om från början igen.
Några tips om hur jag ska göra?Sv: Få med mig checkbox-värden till annan aspx-sida
Men, jag skulle egentligen försöka ta reda på i stället varför det smäller om du kör allting på samma sida - det känns onödigt att skapa en url och skicka vidare sidan, likaså skulle kanske någon kunna lista ut i url:en att göra dumheter på din mail-sida vilket exponerar intrång.
Posta gärna kod här så har vi lättare att hjälpa dig.
Lycka till!Sv:Få med mig checkbox-värden till annan aspx-sida
Hur ska jag göra för att få in en checkbox på varje item och där värdet (value) är "intrid"?
<asp:DataList runat="server" ID="recipients" CellPadding="0" CellSpacing="0">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="liten" align="left"><%#Container.DataItem("fnamn")%> <%#Container.DataItem("enamn")%> </td>
<td style='background:#ffc9c9'>
<asp:CheckBoxlist ID="cbx" runat="server">
<asp:ListItem Value="<%#Container.DataItem("intrid")%>"></asp:ListItem>
</asp:CheckBoxlist>
</td>
</tr>
</ItemTemplate>
</asp:DataList>
<asp:Button ID="Submitform" runat="server" Text=" Gå vidare " />
Sv: Få med mig checkbox-värden till annan aspx-sida
Har inte riktigt löst detta än. Just nu har jag enorma huvudbry varför jag inte får sidan att läsa IsPostBack-koden. VARFÖR???? (jag blir galen....)
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!--#include file="~\Simpel-DbReader.aspx" -->
<script runat="server">
Sub Page_Load()
If IsPostBack Then
' Skriv kod här för att spara intrid+objektnr+timestamp i databasen.
' Använd status=0 (som sedan ändras till status=1 när mailet skickats iväg...)
'####2012-10-22: Varför kommer jag inte hit när jag trycker på btn???? //PM
'Response.Write("xxx")
'Response.End()
Response.Redirect("sendmail.aspx?action=erbjudande&objekt=" & Request.QueryString("id") & "'")
End If
Dim strSql As String
Dim id As String = Request.QueryString("id")
If IsNumeric(id) Then
Dim Idagdat As Date = Format(Now, "yyyy-MM-dd")
Dim fromdat As Date = Idagdat.AddDays(-100) 'anger hur många dagar bakåt som erbjudandet kan ha skapats
strSql = "SELECT OBJEKT.OBJEKTSNUMMER as objekt, INTRESSEANMALAN.KODATUM as kodatum, INTRESSENT.NAMN as fnamn, INTRESSENT.EFTERNAMN as enamn, "
strSql = strSql & " ERBJUDANDE.NEJSKAL as kommentar, ERBJUDANDE.SVAR as svar, ERBJUDANDE.BESKRIVNING as text, ERBJUDANDE.DATUM, INTRESSENT.INTRESSENTID as intrid"
strSql = strSql & " FROM OBJEKT, ERBJUDANDE, ERBJUDANDETYP, INTRINTRESSEANMALAN, INTRESSEANMALANSTATUSTYP, INTRESSEANMALAN, INTRESSENT"
strSql = strSql & " WHERE OBJEKT.OBJEKTID=ERBJUDANDE.OBJEKTID AND ERBJUDANDE.ERBJUDANDETYPID=ERBJUDANDETYP.ERBJUDANDETYPID"
strSql = strSql & " AND ERBJUDANDE.INTRESSEANMALANID=INTRINTRESSEANMALAN.INTRESSEANMALANID AND ERBJUDANDE.INTRESSEANMALANID=INTRESSEANMALAN.INTRESSEANMALANID"
strSql = strSql & " AND INTRESSEANMALAN.INTRESSEANMALANSTATUSTYPID=INTRESSEANMALANSTATUSTYP.INTRESSEANMALANSTATUSTYPID"
strSql = strSql & " AND INTRINTRESSEANMALAN.INTRESSENTID=INTRESSENT.INTRESSENTID"
strSql = strSql & " AND OBJEKT.OBJEKTSNUMMER='" & id & "'"
strSql = strSql & " AND ERBJUDANDE.ISBINDANDE='1'"
strSql = strSql & " AND ERBJUDANDE.DATUM >= to_date('" & fromdat & "','yyyy/mm/dd')"
strSql = strSql & " AND INTRESSEANMALAN.AVREGDATUM >= to_date('" & Idagdat & "','yyyy/mm/dd')"
strSql = strSql & " AND INTRESSEANMALANSTATUSTYP.INTRESSEANMALANSTATUSTYPID<>'3'"
strSql = strSql & " AND INTRINTRESSEANMALAN.INTRINTRESSEANMALANTYPID=1" '1=sökande, 2=medsökande
strSql = strSql & " ORDER BY INTRESSEANMALAN.KODATUM ASC"
erbjudandelista.DataSource = OracleDataListConnection(strSql)
erbjudandelista.DataBind()
End If
End Sub
</script>
<asp:DataList runat="server" ID="erbjudandelista" CellPadding="4">
<HeaderTemplate>
<tr>
<td width='3%' class='borderbottomsolid' valign='top'> </td>
<td width='10%' class='borderbottomsolid' valign='top'><i>Ködatum</i></td>
<td width='28%' class='borderbottomsolid' valign='top'><i>Namn</i></td>
<td width='20%' class='borderbottomsolid' valign='top'><i>Text</i> </td>
<td width='9%' class='borderbottomsolid' valign='top'> </td>
<td width='3%' class='borderbottomsolid' valign='top' align='center'><i>Svar </i></td>
<td width='27%' class='borderbottomsolid' valign='top'><i>Kommentar</i> </td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td align="left" width='' class='borderbottomdotted' valign='top'><font class='liten'><%# Container.ItemIndex+1 %>.</font></td>
<td align="left" width='' class='borderbottomdotted' valign='top'><font class='liten'><%#DataBinder.Eval(Container.DataItem, "kodatum", "{0: yyyy-MM-dd}")%></font></td>
<td align="left" width='' class='borderbottomdotted' valign='top'><font class=''><%#Container.DataItem("fnamn")%> <%#Container.DataItem("enamn")%></font></td>
<td align="left" width='' class='borderbottomdotted' valign='top'><font class='liten'><%#Container.DataItem("text")%></font></td>
<td align="left" width='' class='borderbottomdotted' valign='top'><font class='liten'><input type='checkbox' name='chb' value='<%#Container.DataItem("intrid")%>'/></font></td>
<td align="left" width='' class='borderbottomdotted' valign='top'><font class='liten'><%#Container.DataItem("svar")%></font></td>
<td align="left" width='' class='borderbottomdotted' valign='top'><font class='liten'><%#Container.DataItem("kommentar")%></font></td>
</tr>
</ItemTemplate>
</asp:DataList>
<div align='right'><font class='liten'>0=Nej 1=Ja 2=Ej avhörd 3=Fick ej</font> </div>
<div align='right'><asp:Button ID='Submitform' runat='server' Text=' Förbered kallelser med e-post '/> </div>
Sv:Få med mig checkbox-värden till annan aspx-sida
Hur ser det ut på klientsidan - tänker främst på hur postbacken genereras (nåt custom-javascript involverat eller så?)
Har du nån slags webfarm/lastbalanserare igång?
Tillåter klienten cookies?
Kan sessionen ha timat ut mellan första sidladdningen och postback?
Vad är minsta möjliga exempel för att återskapa beteendet?Sv:Få med mig checkbox-värden till annan aspx-sida
Om du lägger in koden för sidan i
is not postback
och koden du vill köra när du klickar på knappen
under knappens event
Sub Page_Load()
If Not IsPostBack Then
Dim strSql As String
Dim id As String = Request.QueryString("id")
If IsNumeric(id) Then
Dim Idagdat As Date = Format(Now, "yyyy-MM-dd")
Dim fromdat As Date = Idagdat.AddDays(-100) 'anger hur många dagar bakåt som erbjudandet kan ha skapats
strSql = "SELECT O.OBJEKTSNUMMER as objekt, IA.KODATUM as kodatum, I.NAMN as fnamn, I.EFTERNAMN as enamn, "
strSql = strSql & " E.NEJSKAL as kommentar, E.SVAR as svar, E.BESKRIVNING as text, E.DATUM, I.INTRESSENTID as intrid"
strSql = strSql & " FROM OBJEKT O, ERBJUDANDE E, ERBJUDANDETYP T, INTRINTRESSEANMALAN A, INTRESSEANMALANSTATUSTYP AT, INTRESSEANMALAN IA, INTRESSENT I "
strSql = strSql & " WHERE O.OBJEKTID=E.OBJEKTID AND E.ERBJUDANDETYPID=T.ERBJUDANDETYPID"
strSql = strSql & " AND E.INTRESSEANMALANID=A.INTRESSEANMALANID AND E.INTRESSEANMALANID=IA.INTRESSEANMALANID"
strSql = strSql & " AND IA.INTRESSEANMALANSTATUSTYPID=AT.INTRESSEANMALANSTATUSTYPID"
strSql = strSql & " AND A.INTRESSENTID=I.INTRESSENTID"
strSql = strSql & " AND O.OBJEKTSNUMMER='" & id & "'"
strSql = strSql & " AND E.ISBINDANDE='1'"
strSql = strSql & " AND E.DATUM >= to_date('" & fromdat & "','yyyy/mm/dd')"
strSql = strSql & " AND IA.AVREGDATUM >= to_date('" & Idagdat & "','yyyy/mm/dd')"
strSql = strSql & " AND AT.INTRESSEANMALANSTATUSTYPID<>'3'"
strSql = strSql & " AND A.INTRINTRESSEANMALANTYPID=1" '1=sökande, 2=medsökande
strSql = strSql & " ORDER BY IA.KODATUM ASC"
erbjudandelista.DataSource = OracleDataListConnection(strSql)
erbjudandelista.DataBind()
End If
End If
End Sub
Protected Sub Submitform_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Submitform.Click
' Skriv kod här för att spara intrid+objektnr+timestamp i databasen.
' Använd status=0 (som sedan ändras till status=1 när mailet skickats iväg...)
'####2012-10-22: Varför kommer jag inte hit när jag trycker på btn???? //PM
'Response.Write("xxx")
'Response.End()
Response.Redirect("sendmail.aspx?action=erbjudande&objekt=" & Request.QueryString("id") & "'")
End Sub