1

我有两张名为 objects 和 apartments 的表,它们与名为apartmentIDand的外键“连接” ObjectID。我的控制器和模型非常简单:

模型:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Projekt.Models
{
    public class WrapperModel
    {

        public IEnumerable<Projekt.Models.objects> Objects { get; set; }
        public IEnumerable<Projekt.Models.apartments> Apartments { get; set; }


    }
}

我的控制器是:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Projekt.Models;

namespace Projekt.Controllers
{
    public class WrapperController : Controller
    {
        public ActionResult Index()
        {
            WrapperModel wrapperModel = new WrapperModel();
            return View(wrapperModel);
        }
    }
}

我想制作一个使用@foreach 循环的视图:

  • 取每个对象的名称,并将名称链接到其Details.cshtml页面

  • Details.cshtml在“对象”链接旁边显示链接到其页面的公寓 ID 。

4

1 回答 1

2

首先初始化你的模型

public ActionResult Index()
{
    // db is your DbContext or your entity that is represented your DB.
    YourDbContext db = new YourDbContext();

    WrapperModel wrapperModel = new WrapperModel();
    wrapperModel.Objects = db.Objects; // from your db
    wrapperModel.Apartments = db.Apartments;// from your db


    return View(wrapperModel);
}

看法

@model WrapperModel 

@foreach(var item in Model.Objects)
{
    // list items in html elements
    @Html.ActionLink(item.name, "Details", "Controller", new { id = item.id })
}

@foreach(var item in Model.Apartments)
{
    // list items in html elements
    // link to details page
}

控制器细节动作

public ActionResult Details(int id){}

尝试类似上面的方法或修改该代码以获得您的预期结果。然后问更具体的问题

于 2013-02-28T09:33:02.060 回答