2016-06-29 3 views
0

можно ли передать действие контроллера как путь по электронной почте smtp?mvc email с действием контроллера в качестве приложения

У меня есть этот метод в мой контроллер, который получает меня, что я искал:

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; 
    } 

и я называю этот метод на этом действии на том же контроллере:

[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"); 

    } 

так я хочу передайте этот метод «connectToDatabase» в качестве приложения к электронной почте, которое должно быть отправлено.

где я даже начинаю?

+0

Привет @fulufhelo, я хотел бы спросить вы передаете 'ConnectToDatabase' или' GetUserInput' в электронную почту? –

+0

Я хочу передать ConnectToDatabase @ShawnYan –

+0

AFAIK вы не можете передать метод в электронную почту. Вы можете передать 'Url.Action', который вызывается, когда пользователь нажимает на ссылку. –

ответ

0

Не уверен, что это то, что вы хотели, но вы можете написать Url.Action для своего электронного письма stmp, как это.

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

Затем назначить URL в электронной почте

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

После этого напишите ваш контроллер с теми же параметрами согласования с Url.Action

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

Здравствуйте @Shawn, не добавляя результаты, полученные из базы данных –

+0

Фактически, когда я получаю электронное письмо, у него есть ссылка на вложение, но он дает мне ошибку 404, когда я нажимаю ссылку. –

+0

Хорошо, ваше вложение какого-то файла Excel или просто ссылка? –

 Смежные вопросы

  • Нет связанных вопросов^_^