06. december 2005 - 13:33
Der er
19 kommentarer og 1 løsning
Skal sende indeholdet fra et GridView i en email
hvordan kan man sende indhold af database fra et datalist med email!? jeg har en gridview ------------------ id navn e-mail ------------------ 1 navn2 email 2 ------------------ 2 navn2 email 2 ------------------ 3 navn3 email 3 ------------------ kan jeg så vælge id nr.2 og sende indholdet med email?
Annonceindlæg fra DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
06. december 2005 - 13:36
#1
du kan lave en knap og så sætte commandname til id.
06. december 2005 - 13:40
#2
jeg har lavet følgende: <asp:HyperLinkField Text="Send mail" DataNavigateUrlFields="id" DataNavigateUrlFormatString="ExpressMail.aspx?id={0}" /> og den viser oplysninger, MEN den viser altid id nr.1 det er lige meget om jeg klikker på id nr 2 eller 3 den viser altid nr 1
06. december 2005 - 13:42
#3
vis lige kode til hele gridview.
06. december 2005 - 13:46
#4
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="2" DataKeyNames="id" DataSourceID="AccessDataSource1" ForeColor="#333333" GridLines="None" AllowSorting="True" CellSpacing="1" HorizontalAlign="Left"> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <Columns> <asp:HyperLinkField Text="Send mail" DataNavigateUrlFields="id" DataNavigateUrlFormatString="ExpressMail.aspx?id={0}" /> <asp:CommandField ButtonType="Button" DeleteText=" Slet " ShowDeleteButton="True" /> <asp:BoundField DataField="id" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="id" /> <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" /> <asp:BoundField DataField="navn" HeaderText="navn" SortExpression="navn" /> <asp:BoundField DataField="e-mail" HeaderText="e-mail" SortExpression="e-mail" /> </Columns> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <EditRowStyle BackColor="#999999" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> </asp:GridView> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Mail.mdb" SelectCommand="SELECT * FROM [Mail]" DeleteCommand="DELETE FROM [Mail] WHERE [id] = @id"> <DeleteParameters> <asp:Parameter Type="Int32" Name="id"></asp:Parameter> </DeleteParameters> </asp:AccessDataSource>
06. december 2005 - 13:50
#5
og her bliver den vælgte oplysninger vist <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" DataKeyNames="id" DataSourceID="AccessDataSource1" Height="50px" Width="125px"> <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" /> <EditRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" /> <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" /> <Fields> <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True" SortExpression="id" /> <asp:BoundField DataField="navn" HeaderText="navn" SortExpression="navn" /> <asp:BoundField DataField="e-mail" HeaderText="e-mail" SortExpression="e-mail" /> </Fields> <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" /> </asp:DetailsView> <br /> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Mail.mdb" SelectCommand="SELECT * FROM [Mail]"></asp:AccessDataSource>
06. december 2005 - 13:51
#6
prøv med: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="2" DataKeyNames="id" DataSourceID="AccessDataSource1" ForeColor="#333333" GridLines="None" AllowSorting="True" CellSpacing="1" HorizontalAlign="Left"> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <Columns> <asp:TemplateField HeaderText="Send mail" HeaderStyle-BackColor="#D4DBE2" > <ItemTemplate> <a href=”ExpressMail.aspx?id=<%# Eval("id") %>”> Send mail </a> </ItemTemplate> </asp:TemplateField> <asp:CommandField ButtonType="Button" DeleteText=" Slet " ShowDeleteButton="True" /> <asp:BoundField DataField="id" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="id" /> <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" /> <asp:BoundField DataField="navn" HeaderText="navn" SortExpression="navn" /> <asp:BoundField DataField="e-mail" HeaderText="e-mail" SortExpression="e-mail" /> </Columns> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <EditRowStyle BackColor="#999999" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> </asp:GridView> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Mail.mdb" SelectCommand="SELECT * FROM [Mail]" DeleteCommand="DELETE FROM [Mail] WHERE [id] = @id"> <DeleteParameters> <asp:Parameter Type="Int32" Name="id"></asp:Parameter> </DeleteParameters> </asp:AccessDataSource>
06. december 2005 - 13:59
#7
nej, jeg kan se i statusbar at den viser rigtigt når jeg kører musen over. den viser altså ... ExpressMail.aspx?id=1 ... ExpressMail.aspx?id=2 ... ExpressMail.aspx?id=2 men når jeg trykker på linket send mail så viser den kun id 1
06. december 2005 - 14:03
#8
din SELECT * FROM [Mail] bruger slet ikke id til noget derfor viser den kun den første post. Det vil altid være id=1. Så du skal have den til at vælge SELECT * FROM [Mail] WHER ID = detindkommendeid.
06. december 2005 - 14:06
#9
altså SELECT * FROM [Mail] WHERE [id]=@id
06. december 2005 - 14:12
#10
prøv at bruge denne datasource: <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Mail.mdb" SelectCommand="SELECT * FROM [Mail] WHERE [id] = @id" DeleteCommand="DELETE FROM [Mail] WHERE [id] = @id"> <SelectParameters> <asp:QueryStringParameter Type="Int32" QueryStringField="id" Name="id" /> </SelectParameters> <DeleteParameters> <asp:Parameter Type="Int32" Name="id"></asp:Parameter> </DeleteParameters> </asp:AccessDataSource>
06. december 2005 - 14:16
#11
yep nu virker det :) tak MEN nu til den anden spørgsmål hvordan sender jeg det valgte oplysninger med e-mail
06. december 2005 - 14:30
#12
du kan bruge denne kode i codebehind: try { //forsøg at sende email til bruger med password id System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage("test@test.dk","test@dinemail.dk” ); mm.Subject = "et subject"; mm.Body = "en tekst” System.Net.Mail.SmtpClient sm = new System.Net.Mail.SmtpClient(); sm.Send(mm); } catch (Exception ex) { }
06. december 2005 - 14:31
#13
i din web.config fil skal du tilføje stien på din smtp server: <system.net> <mailSettings> <smtp> <network host="smtpserver.dk"/> </smtp> </mailSettings> </system.net>
06. december 2005 - 14:32
#14
koden til at sende e-mailen kan evt afvikles ved at trykke på en knap.
06. december 2005 - 15:06
#15
ja, jeg kan godt sende en e-mail fra asp.net men, hvordan får jeg oplysninger fra database med jeg går ud fra at oplysninger skal ind i mm.Body="" men hvordan får jeg "id=1" ind i mm.Body=""
06. december 2005 - 15:17
#16
du skal tilføje et ButtonField. <asp:ButtonField CommandName="Send" Text="Send" /> i dit detailsview tilføjer du OnItemCommand="Send_Email" i code behind filen tilføjer du protected void Send_Email(object sender, DetailsViewCommandEventArgs e) { } i den funktion skal du ligge din send mail. kommer mere om 2 sek...
06. december 2005 - 15:25
#17
send mail funktionionen kan se ud på denne måde: protected void Send_Email(object sender, DetailsViewCommandEventArgs e) { int index = Convert.ToInt32(e.CommandArgument); DetailsViewRow row = DetailsView1.Rows[index]; try { //forsøg at sende email til bruger med password id System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage("test@test.dk","test@dinemail.dk” ); mm.Subject = "et subject" + row.Cells[1].Text; mm.Body = "en tekst"+ row.Cells[2].Text;; System.Net.Mail.SmtpClient sm = new System.Net.Mail.SmtpClient(); sm.Send(mm); } catch (Exception ex) { } }
06. december 2005 - 15:36
#18
jeg prøver det først imorgen mange tak for din hjælp, læg et svar (du fortjener mindst 100 pt. :) )
06. december 2005 - 15:37
#19
gør jeg :)
06. december 2005 - 15:41
#20
håber snart at jeg kommer til syne på den top 10 liste :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.