这是我的ViewModel
namespace CRUD2.ViewModel
{
public class CostVM
{
public int id { get; set;}
public string nama { get; set; }
public string alamat { get; set; }
public string jenis { get; set; }
public informasi informasi { get; set; }
public iseng iseng { get; set; }
}
}
这是我的Index.cshtml
@model IEnumerable<CRUD2.ViewModel.CostVM>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<table cellspacing="2px;">
<tr>
<th>Nama</th>
<th>Alamat</th>
<th>Jenis</th>
<th>Action</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.informasi.nama</td>
<td>@item.informasi.alamat</td>
<td>@item.iseng.jenis</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.informasi.id }) |
@Html.ActionLink("Back to List", "Index")
</td>
</tr>
}
</table>
</body>
</html>
这是我的Controler(编辑和索引)
namespace CRUD2.Controllers
{
public ActionResult Edit(int id = 0)
{
var costumerlist = from cust in db.informasis
join ord in db.isengs
on cust.id equals ord.id
where cust.id == id
select new { cust.nama, cust.alamat, cust.jk, cust.kelas, ord.jenis };
return View(costumerlist.FirstOrDefault());
}
}
}
如何制作Edit.cshtml?我不明白如何制作,我不知道,如果我的代码有任何错误,请修复它..谢谢
抱歉我的英语不好..
答案 0 :(得分:1)
您正在创建两个数据源的自定义混合,这很好。您可以添加编辑视图:
@model dynamic
由于您有一个匿名类型,但更好的方法是创建一个包含从此select返回的所有属性的类:
public class SomeViewModel
{
public string nama { get; set; }
.
.
}
然后更改查询以使用它:
public ActionResult Edit(int id = 0)
{
var costumerlist = from cust in db.informasis
join ord in db.isengs
on cust.id equals ord.id
where cust.id == id
select new SomeViewModel { cust.nama, cust.alamat, cust.jk, cust.kelas, ord.jenis };
return View(costumerlist.FirstOrDefault());
}
然后创建一个用于编辑的新视图,该视图将使用此模型:
@model SomeViewModel
创建编辑视图与创建索引视图的方式相同;右键单击控制器操作,选择Add View并选择模型。