我有一个控制器,它将一个模型(ovw.ToList())传递给一个视图:
//
// GET: /Clinic/Overview/
public ActionResult Overview()
{
IEnumerable<Clinic> ovw = from c in db.Clinics
select c;
return View(ovw.ToList());
}查看:
@model IEnumerable<ttp.Models.Clinic>
@foreach (var item in Model)
{
<div>@item.ClinicName</div>
@foreach (var item2 in item.Properties)
{
<div>@item2.Address</div>这在屏幕上运行得非常好。
但是,当使用MVCMailer时,如果我想在电子邮件中显示相同的布局,我如何将ovw.ToList()传递给邮件程序视图,以便我可以以这种方式引用相同的模型:
(我不知道该放什么作为视图中的第一行):
@model IEnumerable<ttp.Models.Clinic>
@foreach (var item in Model)谢谢你的帮助
标记
发布于 2012-09-29 22:29:32
您可以在本指南的“将数据传递给邮件视图”部分找到答案:https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide
要将模型和视图一起传递到MVCMailer,需要使用ViewData:
var comment = new Comment {From = me, To = you, Message = "Great Work!"};
ViewData = new ViewDataDictionary(comment);发布于 2012-09-29 22:40:18
在我的项目中,我这样做,如下所示
我正在索引视图中显示我的所有类别列表
在我的模型类中
public List<CategoryDetails> CategoryData { get; set; }我还创建了CategoryDetails类,并为我所有字段创建了一个属性,如下所示
public int CatID { get; set; }
[Required(ErrorMessage = "Enter Category Name")]
public string CatName { get; set; }
public string CatImage { get; set; }并在我的主模型类中创建一个函数,如下所示
public void LoadCategory()
{
CategoryData = (from con in dbData.Categorys
select new CategoryDetails()
{
CatID = con.CatID,
CatName = con.CatName,
CatImage = con.CatImage,
}).ToList();
}在我的控制器中,我创建了一个动作,如下所示
创建我的模型类对象,并将模型函数传递给action
public ActionResult Index()
{
CategoryModel categorymodel = new CategoryModel();
categorymodel.LoadCategory();
return View(categorymodel);
}在我看来
@model PMS.Models.CategoryModel
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>
Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
Category Name
</th>
<th>
</th>
</tr>
@foreach (var item in Model.CategoryData)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.CatName)
</td>
</tr>
}
</table>我想这会对你有帮助
https://stackoverflow.com/questions/12653431
复制相似问题