我觉得问这个真的很愚蠢,肯定我错过了一些非常简单的东西,但我就是无法让它工作!
我在控制器中创建了一个这样的 ViewDataDictionary:
public ActionResult Index()
{
var recipient = new Recipient() {
FullName = "John Brown",
Company = "FP",
Email = "name@website.com"
};
ViewData = new ViewDataDictionary(recipient);
UserMailer.OnEventBook().Send();
return View();
}
但我不知道如何访问视图中的数据。
我试过了:
@ViewData["FullName"]
@ViewData.recipient["FulName"]
@ViewData[recipient.FullName]
@Model.FullName
@recipient.FullName
...以及许多类似的组合。谁能指出我正确的方向?
更新
我意识到我可以使用 ViewBag 或 ViewData [“recipient”] 来传递它。但我很好奇这种方式。
以下来自MvcMailer的文档,编写它的人似乎知道他的东西,所以我认为它一定是传递数据的有效方式。
var comment = new Comment {From = me, To = you, Message = "Great Work!"};
ViewData = new ViewDataDictionary(comment);
更新 2
呵呵,我看错了。
MvcMailer 在一个动作中调用一个动作,我应该在子动作中设置 ViewData(上面代码中的 OnEventBook() )。