缺少 using 指令或程序集引用错误

Missing a using directive or an assembly reference error

提问人:Arya 提问时间:7/23/2019 最后编辑:marc_sArya 更新时间:7/28/2019 访问量:2354

问:

看起来我缺少 using 指令或程序集引用。

我制作了一个CSHTML页面来向用户显示账单。这是使用TBL_Bill表制作的空页面。但是我在尝试从其他表(例如产品的Tbl_Product)中读取数据时遇到错误。错误告诉我

Tbl_Bill不包含Tbl_Product的定义,并且找不到接受类型为 Tbl_Bill 的第一个参数的可访问扩展方法。是否缺少 using 指令或程序集引用?

法典:

@model IEnumerable<fardashahr3.Models.Domain.Tbl_Bill>
@using fardashahr3.Models.Repository
@using fardashahr3.Models.Plugins

@{
    ViewBag.Title = "sales";
    Layout = "~/Views/Shared/_Profile.cshtml";
}

<div class="part_left">
    <div id="product_list" class="userpanel_bright_section">
        @if (ViewBag.Error != null)
        {
            <div class="alert alert-danger">
                <a class="close" style="cursor:pointer;" onclick="$('.alert').hide()">×</a>
                @ViewBag.Error
            </div>
        }

        @if (Model != null)
        {
            <h1 class="separator"> شماره فاکتور  : @Model.InvoiceNumber</h1>

            if (Model.Tbl_Product.Product_IsDownload == false)
            {
                <div class="table_style1" id="UpIBill">
C# asp.net using 指令 assembly-references

评论

0赞 Jesse de Wit 7/23/2019
这不是您的真实代码,因为您的模型是一个 ,但您将其作为单个项目进行访问。另外,发布您的Tbl_Bill类以供参考。IEnumerable
0赞 Arya 7/23/2019
感谢您的回复,但您说这不是我的真实代码是什么意思?
1赞 Jesse de Wit 7/23/2019
如果 Model 是 IEnumerable<Tbl_bill>,则没有属性Tbl_Product,但我希望异常会说“IEnumerable<Tbl_Bill>不包含Tbl_Product的定义”。

答:

1赞 Sreekanth 7/23/2019 #1

根据您发布的错误,您在视图 () 中使用的模型似乎没有产品详细信息 () 来使用标记 (() 中的模型访问它们。检查模型属性,并将正确的模型传递到视图中。@model IEnumerable<fardashahr3.Models.Domain.Tbl_Bill>Tbl_ProductModel.Tbl_Product.Product_IsDownload

1赞 Peter B 7/23/2019 #2

因为你的模型是一个 ,所以你需要遍历它:IEnumerable<...>

@if (Model != null)
{
    foreach (var bill in Model)
    {
        <h1 class="separator"> شماره فاکتور  : @bill.InvoiceNumber</h1>

        if (bill.Tbl_Product.Product_IsDownload == false)
        {
            ....
        }
    }
}

从这里不可能说是否是该属性的正确名称,但这可能足以让您上路。bill.Tbl_Product

或者,如果每个人都有一系列产品,那么您将需要执行以下操作bill

foreach (var product in bill.Products)
{
}