asp.net-mvc - 外键未出现在视图中
问题描述
谁能帮忙,我有一个包含外键(ProductCategory)的模型。我正在尝试调用外键的值,但它们没有出现在视图中,当我在控制器中放置断点时,所有字段都显示成功在原始结果视图中,但似乎它们没有被传递给视图。
注意我正在使用 dev express 生成视图
public class Product
{
public int Id { get; set; }
public int productCode { get; set; }
public double price { get; set; }
public int ProductCategoryId { get; set; }
public virtual ProductCategory ProductCategory { get; set; }
public Stock itemNo { get; set; }
}
[HttpGet]
public async Task<IActionResult> Get(DataSourceLoadOptions loadOptions) {
var product = _context.Product.Select(i => new {
i.Id,
i.productCode,
i.price,
i.ProductCategoryId,
i.ProductCategory.categoryDescr
});
return Json(await DataSourceLoader.LoadAsync(product, loadOptions));
}
@{
ViewData["Title"] = "Products";
}
<h2 class="content-block">Products</h2>
@(Html.DevExtreme().DataGrid<DevExtremeAspNetCoreApp1.Models.Product>()
.DataSource(ds => ds.Mvc()
.Controller("Products")
.LoadAction("Get")
.InsertAction("Post")
.UpdateAction("Put")
.DeleteAction("Delete")
.Key("Id")
)
.RemoteOperations(true)
.Columns(columns => {
columns.AddFor(m => m.productCode);
columns.AddFor(m => m.price);
columns.AddFor(m => m.ProductCategoryId);
columns.AddFor(m => m.ProductCategory.categoryDescr);
})
.Editing(e => e.Mode(GridEditMode.Popup)
.AllowAdding(true)
.AllowUpdating(true)
.AllowDeleting(true)
.Popup(p=>p
.Title("Product")
.ShowTitle(true)
.Width(500)
.Height(525)
)
)
.Export(e => e.Enabled(true))
)
解决方案
尝试这个:
var product = _context.Product.Select(i => new {
i.Id,
i.productCode,
i.price,
i.ProductCategoryId,
ProductCategoryDesc=i.ProductCategory.categoryDescr
});
.....
columns.AddFor(m => m.ProductCategoryDesc);
推荐阅读
- ios - Zendesk 聊天结合 pem 上传但收不到推送通知
- mysql - 递归函数,保存 DynamicPreparedStatement
- c++ - 是否可以在 Qt 中使用需要公共语言运行时 (/clr) 的 DLL?
- css - 我想让它成为一个带有链接标签的点击元素反应,但我有css问题
- javascript - 如何在 Node Js 中更改 User isActive:boolean 的值
- javascript - 如何使用js从我的数据库中获取所有数组值
- symfony - 仅当用户未在 API 平台中连接时才允许发布方法
- javascript - 将鼠标悬停在图片上时显示说明
- c# - 实施服务总线或 Pubnub 的建议
- docker - 如何防止重定向的 docker 端口向外界开放?