是否可以将控制器操作作为smtp电子邮件中的路径传递?
我在我的控制器中有这个方法可以找到我搜索到的内容:
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");
}
所以我想传递这个&#34; connectToDatabase&#34;方法作为电子邮件的附件发送。
我从哪里开始?
答案 0 :(得分:0)
不确定这是否是你想要的,但你可以像这样写一个Url.Action给你的电子邮件。
var callbackUrl = Url.Action("Action", "Controller",
new
{
Idnumber = model.ID_Number;
Startdate = model.Start_Date;
Enddate = model.End_Date;
}, protocol: Request.Url.Scheme);
然后将网址分配到您的电子邮件
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...
}