我有一个ASP.NET MVC应用程序,该应用程序正在使用单个视图来显示模型实体的属性和儿童(及其属性)。

我的模型看起来像这样:

public class Market
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public IList<EmailAddress> EmailAddresses { get; set; }
}
public class EmailAddress 
{
    public virtual int ID { get; set; }
    public virtual int MarketID { get; set; }
    public virtual string Email { get; set; }
}

在视图上,我想使用表显示相关电子邮件地址的列表。为此,我正在使用html.grid。

<%= Html.Grid(Model.EmailAddresses).Columns( column =>
    {
        column.For(x => x.Email + Html.Hidden("ID", x.ID)).Encode(false).Sortable(false);
    })
    .Attributes(style => "width:100%")
    .Attributes(id => "emailGrid")
    .Empty("There are no Email Addresses set up") %>

但是,当我这样做时,隐藏的ID是母体实体市场的ID,而不是电子邮件address的ID。

我该如何解决这个问题?

有帮助吗?

解决方案

看来这可能是WebGrid中的错误。您是否尝试过在电子邮件address类中重命名ID字段,例如emailID并将其传递给WebGrid并查看是否正确显示?

其他提示

这对我有用,难道您的模型填充有问题吗?

由于您正在使用lambda表达式 Column.For() 方法,X参数重新指的是一个电子邮件。我认为您的意思是参考模型,而不是一个电子邮件ID

我认为您只想要模型。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top