2016-06-29 2 views
0

ist es möglich, eine Controller-Aktion als Pfad auf SMTP-E-Mail übergeben?mvc E-Mail mit Controller-Aktion als Anhang

Ich habe diese Methode in meinem Controller, die mir bekommt, was ich gesucht:

public void ConnectToDatabase(Modelclass uc) 
    { 
     // IList<Modelclass> list = new List<Modelclass>(); 
     var query = (from a in db.DBTable 
        where a.IDNumber.Equals(uc.ID_Number) 
        select a).ToList(); 
     var tt = query; 
    } 

und ich nennen diese Methode zu dieser Aktion auf demselben Controller:

[HttpPost] 
    public ActionResult GetUserInput(ModelClass model) 
    { 

     var idnumber = model.ID_Number; 
     var startdate = model.Start_Date; 
     var enddate = model.End_Date; 

     ConnectToDatabase(model); 
     // validate your date here and return True if validated 
     if (model.End_Date < model.Start_Date) 
     { 
      return Json(false); 

     } 
     return View("Search"); 

    } 

so möchte ich Übergeben Sie diese "connectToDatabase" -Methode als Anhang an die zu sendende E-Mail.

wo starte ich überhaupt?

+0

Hallo @fulufhelo, ich möchte fragen, Übergeben Sie 'ConnectToDatabase' oder' GetUserInput' in E-Mails? –

+0

Ich möchte ConnectToDatabase übergeben @ShawnYan –

+0

AFAIK Sie können Methode nicht in E-Mail übergeben. Sie können "URL.Action" übergeben, die aufgerufen wird, wenn der Benutzer auf den Link klickt. –

Antwort

0

Nicht sicher, ob dies das ist, was Sie wollten, aber Sie können eine Url.Action auf Ihre Bmp-E-Mail wie folgt schreiben.

var callbackUrl = Url.Action("Action", "Controller", 
        new 
        { 
         Idnumber = model.ID_Number; 
         Startdate = model.Start_Date; 
         Enddate = model.End_Date; 
        }, protocol: Request.Url.Scheme); 

zuweisen dann die URL in Ihre E-Mail-

message.Body =String.Format("<b><i>Click the following link to view attachment</i></b> <a href =\"" + callbackUrl + "\">here</a>"); 

Danach schreiben Sie Ihre Controller mit den gleichen Anpassungsparameter mit Url.Action

public void ConnectToDatabase(string IdNumber, DateTime Startdate, DateTime Enddate) 
{ 
    //do something here... 
} 
+0

Hallo @Shawn es nicht die Ergebnisse aus der Datenbank anfügen –

+0

tatsächlich, wenn ich die E-Mail bekommen, hat es den Link zum Anhang, aber es gibt mir den Fehler 404, wenn ich auf den Link klicke. –

+0

Ok, ist Ihr Anhang eine Art Excel-Datei oder nur ein Link? –

Verwandte Themen