| |
ASP.NET, WebServices u. RemotingE-Mail Anbindung von UserControls | | | Autor: ChrisBisch | Datum: 03.09.12 16:29 |
| Hallo Forum,
ich habe ein Problem wo ich einfach auf dem schlauch stehe. Ich hoffe Ihr könnt mir weiter helfen!
Also folgendes, ich habe einen Warenkorb, den ich per E-Mail versenden möchte.
Egal wie ich es ausprobiere es klappt nicht.
Der Warenkorb wird in einer .ascx gespeichert. Ich möchte nun aus der E-Mail Prozedur den Warenkorb dem E-mail body anhängen
mm.Body = "
Artikel:" + Warenkorb.Text + ""
Aber so klappt das irgendwie nicht.
Wäre echt dankbar über eine hilfe, es ist der letzte Fehler!
Schönen abend noch | |
Re: E-Mail Anbindung von UserControls | | | Autor: Micke | Datum: 04.09.12 09:40 |
| ich denke du mußt den response deines ashx nehmen, dann hast du genau das was du im web "siehst".
Micke | |
Re: E-Mail Anbindung von UserControls | | | Autor: ChrisBisch | Datum: 04.09.12 10:02 |
| Hey Micke,
danke erst einmal.
Ich habe also probiert über Response an die Daten zu kommen, aber das klappt nicht.
Ich glaube ja das ich hier im Syntax einfach ein paar Fehler mache.
Hier der Code:
ShoppingBasket.Response.??
Hat vielleicht jemand eine Idee?
Thanks | |
Re: E-Mail Anbindung von UserControls | | | Autor: Micke | Datum: 04.09.12 12:16 |
| wäre es nicht einfacher du läßt den Author des Warenkorbes und der webseiten dir sagen was du machen sollst ?
dieser code, genauso wie der aus dem Anfangspost ist Nonsens.
Micke
Beitrag wurde zuletzt am 04.09.12 um 12:18:11 editiert. | |
Re: E-Mail Anbindung von UserControls | | | Autor: Micke | Datum: 04.09.12 18:31 |
| stimmt ja auch völlig, und der "Response" ist das was der HtmlTextWriter liefert.
ich war mir nur nicht sicher, ob das beim Poster mehr als Fragezeichen hervorruft.
Micke | |
Re: E-Mail Anbindung von UserControls | | | Autor: ChrisBisch | Datum: 04.09.12 18:54 |
| Hey DaveS und danke,
und Hallo Micke,
das war das Richtige Stichwort.
Ich werde mich gleich mal ran machen, Thanks.
Und Micke was ist das den?
Kannst mich ja wenigstens Fragen, ob der Code von mir ist!
Und wenn Dir noch Codezeilen Fehlen zum verständniss, kann man das auch anders sagen als Zitat: Nonsens...
Als Nonsens habe ich nämlich Dein Post empfunden.
Behandle jeden Menschen so wie Du selbst behandelt werden willst(Der menschliche Kategorische Imperativ).
Danke Daves nochmal | |
Re: E-Mail Anbindung von UserControls | | | Autor: ChrisBisch | Datum: 09.09.12 18:28 |
| Hallo Forum,
nachdem mir DaveS den Hinweis gegeben hat mit dem HtmlTextWriter, Render... zu arbeiten, habe ich bisher folgendes gemacht:
Die vb der E-Mail Klasse und der Render Klasse:
Public Module Extensions
<Extension()> _
Public Function RenderAsString(ByVal Ctrl As System.Web.UI.UserControl) As _
String
Dim Sb As New StringBuilder()
Using Sw As New System.IO.StringWriter(Sb)
Using Htw As New HtmlTextWriter(Sw)
Ctrl.RenderControl(Htw)
End Using
End Using
Return Sb.ToString
End Function
End Module
Partial Class Bestellen
Inherits System.Web.UI.Page
Protected Sub btnCOD_Click(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles btnCOD.Click
Dim Ctrl As UserControl = DirectCast(Me.LoadControl( _
"~/ShoppingBasket.ascx"), UserControl)
Dim CtrlString As String = Ctrl.RenderAsString()
Const ToAddress As String = "E-Mail Adresse"
Dim mm As New MailMessage(EMail.Text, ToAddress)
mm.Subject = Name.Text
mm.Body = "<html><body runat=server><br><br><h2>Bestellung von" & _
"der Webseite</h2><br><br>" + CtrlString + "</body></html>"
mm.IsBodyHtml = True
Dim smtp As New SmtpClient
smtp.Send(mm)
End Sub Leider bekomme ich jtzt folgende Fehlermeldung:
System.Web.HttpException: Das Steuerelement BasketGrid vom Typ GridView muss in einem Formulartag mit runat=server positioniert werden.
Hat jemand eine Idee woran das liegt?
Thanks | |
Re: E-Mail Anbindung von UserControls | | | Autor: ChrisBisch | Datum: 10.09.12 10:29 |
| Hey DaveS,
danke für Deine Antwort, es sind in dem ShopppingBasket aber nur ein GriedView(wird als Tabel angezeigt).
Hat velleicht noch jemand eine Idee? | |
Re: E-Mail Anbindung von UserControls | | | Autor: ChrisBisch | Datum: 14.09.12 09:40 |
| Hallo Leute,
erst mal danke DaveS, vielen dank!
Und für alle die es interessiert, der Fehler der kam: "Das Steuerelement BasketGrid vom Typ GridView muss in einem Formulartag mit runat=server positioniert werden. "
ist ein Bug in Visual Studio gewesen. In der Seitendirektive muss folgendes eingetragen werden:
EnableEventValidation="false"
dann klappt es auch mit dem Nachbarn.
Allerdings bekam ich dann nur eine E-Mail mit leerem Warenkob, was aber an meinem Fehler lag, da ich ja nur den Warenkorb eingebunden habe, und nicht das aktuell erstellte GriedView.
Dank DaveS netten Link habe ich hier aber auch eine Lösung gefunden, die ich allen die ein ähnliches Problem haben nicht vorenthalten möchte:
Partial Class Bestellen
Inherits System.Web.UI.Page
' render gridview als HTML
Public Function RenderGridView() As String
Dim writer As New StringWriter
Dim htmlWriter As New HtmlTextWriter(writer)
Try
ShoppingBasket.RenderControl(htmlWriter)
Catch ex As HttpException
End Try
Return writer.ToString()
End Function
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As _
System.Web.UI.Control)
End Sub
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
If Page IsNot Nothing Then
Page.VerifyRenderingInServerForm(Me)
End If
MyBase.Render(writer)
End Sub
Protected Sub btnCOD_Click(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles btnCOD.Click
Const ToAddress As String = "E-Mail Adresse"
Dim mm As New MailMessage(EMail.Text, ToAddress)
mm.Subject = Name.Text
mm.Body = "<html><body><br><br><h2>Bestellung von der Webseite</h2>"</body></html>"
mm.Body += RenderGridView()
mm.IsBodyHtml = True
Dim smtp As New SmtpClient
smtp.Send(mm) Und siehe da, der Warenkorb wird der E-Mail angehängt.
Also noch mal danke an DaveS und Micke, der Fehler wurde behoben.
PS.: Sagt mal Bitte, was bedeutet der rote brennende Ordner?
Beitrag wurde zuletzt am 14.09.12 um 10:10:05 editiert. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|