Asp.net 具有MvcMailer的强类型模型
我在将强类型模型传递给MvcMailer视图时遇到了麻烦。我使用asp.net mvc3,并使用nuget安装了MvcMailer3 没有错误消息,消息已成功发送,但未填充数据字段。我正在做的一切也尝试使用ViewBag字段,但同样的问题-消息发送成功,但字段未填充 请帮忙…我被困了两天 这是我的控制器和视图代码 //控制器代码Asp.net 具有MvcMailer的强类型模型,asp.net,asp.net-mvc-3,mvcmailer,Asp.net,Asp.net Mvc 3,Mvcmailer,我在将强类型模型传递给MvcMailer视图时遇到了麻烦。我使用asp.net mvc3,并使用nuget安装了MvcMailer3 没有错误消息,消息已成功发送,但未填充数据字段。我正在做的一切也尝试使用ViewBag字段,但同样的问题-消息发送成功,但字段未填充 请帮忙…我被困了两天 这是我的控制器和视图代码 //控制器代码 public ActionResult Index() { string invoicenumber = "BC-00000002";
public ActionResult Index()
{
string invoicenumber = "BC-00000002";
IEnumerable<Quantum.Models.usp_MasterPrintInvoice_Result> mpi = db.usp_MasterPrintInvoice(invoicenumber);
IEnumerable<PrintDetailObject> printdetailobj = from anmpi in mpi select new PrintDetailObject { Head = anmpi.Head, ContributorName = anmpi.Name, RegistrationNumber = anmpi.RegistrationNumber, InvoiceNumber = anmpi.InvoiceNumber, InvoiceDate = anmpi.Date, Amount = anmpi.Amount, PaymentMonth = anmpi.Month, ReceivedBy = anmpi.Operator };
ViewData.Model = printdetailobj.FirstOrDefault();
IUserMailer mailer = new UserMailer();
mailer.Welcome().Send();
return View();
}
public ActionResult Index()
{
string invoicenumber = "BC-00000002";
IEnumerable<Quantum.Models.usp_MasterPrintInvoice_Result> mpi = db.usp_MasterPrintInvoice(invoicenumber);
IEnumerable<PrintDetailObject> printdetailobj = from anmpi in mpi select new PrintDetailObject { Head = anmpi.Head, ContributorName = anmpi.Name, RegistrationNumber = anmpi.RegistrationNumber, InvoiceNumber = anmpi.InvoiceNumber, InvoiceDate = anmpi.Date, Amount = anmpi.Amount, PaymentMonth = anmpi.Month, ReceivedBy = anmpi.Operator };
IUserMailer mailer = new UserMailer();
mailer.Welcome(printdetailobj.FirstOrDefault()).Send();
return View();
}
嗨,我刚刚有了回答我自己问题的洞察力 实际上,当我在“SendEmail”控制器中使用ViewData.Model时,该模型可用于其自己的视图,即“Index”视图,而不是与“UserMailer”控制器一起使用的razor视图,在我的示例中,该控制器名为“Welcome” 要将模型传递给“UserMailer”操作,我们需要进行以下修改: //IUserMailer代码
...
public interface IUserMailer
{
MvcMailMessage Welcome(PrintDetailObject myModel);
}
public virtual MvcMailMessage Welcome(PrintDetailObject myModel)
{
//ViewBag.Data = someObject;
ViewData.Model = myModel;
return Populate(x =>
{
x.Subject = "Welcome";
x.ViewName = "Welcome";
x.To.Add("cmmwahid@hotmail.com");
});
}
//用户邮箱代码
...
public interface IUserMailer
{
MvcMailMessage Welcome(PrintDetailObject myModel);
}
public virtual MvcMailMessage Welcome(PrintDetailObject myModel)
{
//ViewBag.Data = someObject;
ViewData.Model = myModel;
return Populate(x =>
{
x.Subject = "Welcome";
x.ViewName = "Welcome";
x.To.Add("cmmwahid@hotmail.com");
});
}
//最后是控制器代码
public ActionResult Index()
{
string invoicenumber = "BC-00000002";
IEnumerable<Quantum.Models.usp_MasterPrintInvoice_Result> mpi = db.usp_MasterPrintInvoice(invoicenumber);
IEnumerable<PrintDetailObject> printdetailobj = from anmpi in mpi select new PrintDetailObject { Head = anmpi.Head, ContributorName = anmpi.Name, RegistrationNumber = anmpi.RegistrationNumber, InvoiceNumber = anmpi.InvoiceNumber, InvoiceDate = anmpi.Date, Amount = anmpi.Amount, PaymentMonth = anmpi.Month, ReceivedBy = anmpi.Operator };
ViewData.Model = printdetailobj.FirstOrDefault();
IUserMailer mailer = new UserMailer();
mailer.Welcome().Send();
return View();
}
public ActionResult Index()
{
string invoicenumber = "BC-00000002";
IEnumerable<Quantum.Models.usp_MasterPrintInvoice_Result> mpi = db.usp_MasterPrintInvoice(invoicenumber);
IEnumerable<PrintDetailObject> printdetailobj = from anmpi in mpi select new PrintDetailObject { Head = anmpi.Head, ContributorName = anmpi.Name, RegistrationNumber = anmpi.RegistrationNumber, InvoiceNumber = anmpi.InvoiceNumber, InvoiceDate = anmpi.Date, Amount = anmpi.Amount, PaymentMonth = anmpi.Month, ReceivedBy = anmpi.Operator };
IUserMailer mailer = new UserMailer();
mailer.Welcome(printdetailobj.FirstOrDefault()).Send();
return View();
}