okej detta är ju då itne jättevackert men det funkar för syftet
sedan använder jag
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Mail" %>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e) {
// make sure we use the local SMTP server
SmtpMail.SmtpServer = "";
// create mail message object
MailMessage oMessage = new MailMessage();
// set some properties
oMessage.BodyFormat = MailFormat.Text;
oMessage.Priority = MailPriority.High;
oMessage.From = "me@myself.com";
oMessage.To = "någons email";
oMessage.Cc = "";
oMessage.Bcc = "";
oMessage.Subject = "Test Mail";
oMessage.Body = "This is a test e-mail, please ignore.\r\rBest regards,\rWimdows.net";
// Send the e-mail
SmtpMail.Send(oMessage);
}
</script>
inte så fint detta heller med det funkar även detta för syftet
okej nu vill jag ha hjälp med att få in från fältet i from och värdet i to till to och sedan textarean och application name i bodyn
jag skulle verkligen vilja veta hur man gör för jag har aldrig programmerat i .net och kan inte ett tjaffs asp, skulle jag fått bestämma skulle det blivitt i php men detta är nu inte fallet så jag skulle vilja lära mig hur man skickar vidare så här... snälla hjälp mig
Jag redigerade precis inlägget ovan då jag nog missförstod dig (om du inte sett det). Du behöver inte en annan sida, den logik du vill ha sköter du på en och samma sida.
Vet inte riktigt vad du menar, men vi tar det från början. Det finns en mängd olika asp.net-kontroller färdiga att använda (du kan naturligtvis även göra egna). En av dessa kontroller är en textbox och den skriver du i sin enklaste form så här:
<asp:TextBox runat=server>
Runat=server betyder helt enkelt att kontrollen exekveras på servern, när sidan exekverats och skickats till användaren är den omvandlad till en vanlig html-tagg (din webbläsare kan ju inte själv tolka vad en <asp:textbox> är).
För att kunna använda den i din kod behöver du normalt sätta ett id på den - <asp:TextBox id="minTextBox" runat="server" />
Från koden kan du sedan både sätta och hämta värden och egenskaper på din kontroll, exempelvis:
public System.Web.UI.WebControls.TextBox minTextBox;
//hämta värde:
string s = minTextBox.Text;
//sätta värde
minTextBox.Text = "en sträng";
Istället för din input type=submit så har du en <asp:Button> som startar en funktion som gör din email-grejja och sedan postas sidan tillbaka till användaren beroende på hur du vill ha den. Eftersom du inte använder code behind så sätter du ett onclick event i din button och kör funktionen:
i presentationslagret:
<asp:Button id="Button1" OnClick="myFunction" runat="server" Text="Tryck här"></asp:Button>
i koden:
public void myFunction(object sender, System.EventArgs e) {
string s = minTextBox.Text;
//mer kod...
}
okej, nu får jag bara fel, funkade i två minuter sen får jag bara fel som säger At least one of the From or Sender fields is required, and neither was found.
det konstiga är ju att det inte skall sättas förren jag tyckt på knappen...
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Mail" %>
<form runat=server>
<table>
<tbody>
<tr>
<td>Email</td>
<td><asp:TextBox ID="ebrev" Runat=server></asp:TextBox></td>
</tr>
<tr>
<td>Servername</td>
<td><asp:TextBox ID="servername" Runat=server></asp:TextBox></td>
</tr>
<tr>
<td><asp:Button id="Button1" OnClick="sendMail" runat="server" Text="Tryck här"></asp:Button></td>
</tr>
</tbody>
</table>
</form>
<script runat="server">
private void sendMail(object sender, System.EventArgs e) {
// make sure we use the local SMTP server
SmtpMail.SmtpServer = "";
// create mail message object
MailMessage oMessage = new MailMessage();
// set some properties
oMessage.BodyFormat = MailFormat.Text;
oMessage.Priority = MailPriority.High;
oMessage.From = ebrev.Text;
oMessage.To = "victor.vb.bergoo@volvo.com";
oMessage.Subject = "Help with " + servername.Text;
oMessage.Body = "This is a test e-mail, please ignore.\r\rBest regards,\rWimdows.net";
// Send the e-mail
SmtpMail.Send(oMessage);
}
</script>
Det finns asp.net-kontroller för allt. :) Du har ett gäng olika validatorer att välja på, RequiredFieldValidatior (som kanske är vad du söker), RegularExpressionValidator (som du sedan använder för mer avancerade checks), CompareValidator, RangeValidator, CustomValidator samt SummaryValidator. Den är mycket lätt att använda, se länken.
Det fina med dessa är att kontrollen sker på klienten (om browsern klarar det vill säga). Kontrollerna genererar alltså ett javascript utan att du behöver tänka på det. :)
sedan behöver jag veta hur man gör för att inte skicka mailet varje gång man refreshar sidan...
Glömde visst din andra fråga... jo, för att köra koden endast när knappen blivit tryckt så kan du kolla att det är just den knappen som blivit tryckt. Det kan du göra genom att först sätta ett commandargument på din button:
<asp:Button CommandArgument="foo" .. />
Sedan gör du en if-sats i din funktion där du tittar att objektet som kör den här funktionen verkligen är den här knappen:
private void sendMail(object sender, System.EventArgs e) {
if(((Button)sender).CommandArgument == "foo") {
//Kod exekveras här endast om knappen blivit tryckt
}
}
Jo, jag menar att med dessa validatorer så kan du styra dina besökare att skriva giltiga värden i dina formulär, exempelvis att med en RegularExpressionValidator se till att användaren endast kan skriva in en giltig email-adress i fältet för email (med giltig menar jag då att det är en mailadress till sin utformning, om den sedan finns och fungerar är en annan sak). Validatorn kopplar du till respektive fält, dessa exekveras på servern (runat=server du vet) och när sidan skickas till klienten så har dessa kontroller skapat ett javascript som kontrollerar textinmatning direkt på klienten.
Hur detta fungerar samt kodexempel hittar du i länkarna jag gav dig ovan.
261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2