3

モデル (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)

助けてくれてありがとう、

マーク

4

2 に答える 2

2

このガイドの「データをメーラービューに渡す」の部分で答えを見つける必要があります: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-29T14:29:32.150 に答える
-1

私のプロジェクトでは、私はこのようにやっています

インデックス ビューにすべてのカテゴリ リストを表示しています

私のモデルクラスで

public List<CategoryDetails> CategoryData { get; set; }

また、CategoryDe​​tailsクラスを作成し、このようにすべてのフィールドにプロパティを作成しています

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

私のコントローラーでは、このようなアクションを作成します

モデル クラス オブジェクトを作成し、モデル関数をアクションに渡します

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>

私はこれがあなたを助けると思う

于 2012-09-29T14:40:18.487 に答える