我创建了一个父模型 insertBreweryModel.cs:
public class InsertBreweryModel
{
public IList<Breweries> Breweries { get; set; }
public IList<BreweryData> BreweryData { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我看来,我像这样引用它:
@model BaPP.Models.InsertBreweryModel
Run Code Online (Sandbox Code Playgroud)
现在我可以使用 foreach 成功地迭代啤酒厂中的项目,但是我如何使用 displayfor 来显示与 item.id 具有相同 id 的其他表中的数据?
@foreach (var item in Model.Breweries)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.BreweryName)
</td>
<td>@Html.DisplayForModel(Model.BreweryData Pseudo: show data from brewerydata.column where id = item.id
</td>
Run Code Online (Sandbox Code Playgroud)
希望有人可以帮忙吗?
对于所有可能有同样问题的人来说,第一个答案是正确的,但在我看来,我错过了另一个数据库。这就是我解决它的方法。
我的模特
namespace BaPP.Models
{
public class InsertBreweryModel
{
public Breweries Breweries { get; set; }
public BreweryData BreweryData { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器
namespace BaPP.Controllers
{
public class BreweryController : Controller
{
private ProjectContext db = new ProjectContext();
//
// GET: /Default1/
public ActionResult Index()
{
var viewModel = from o in db.Breweries join o2 in db.BreweryData on o.BreweryId equals o2.BreweryId where o.BreweryId.Equals(o2.BreweryId) select new InsertBreweryModel { Breweries = o, BreweryData = o2};
return View(viewModel);
}
Run Code Online (Sandbox Code Playgroud)
我的看法
@model IEnumerable<BaPP.Models.InsertBreweryModel>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Breweries.BreweryName)
</td>
<td>
@Html.DisplayFor(modelItem => item.BreweryData.DescriptionText)
</td>
Run Code Online (Sandbox Code Playgroud)
再次感谢这两条评论:-)
归档时间: |
|
查看次数: |
21441 次 |
最近记录: |