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

时间:2019-07-23 11:27:46

标签: c# asp.net using-directives assembly-references

好像我缺少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">

2 个答案:

答案 0 :(得分:0)

根据您发布的错误,看来您在视图(@model IEnumerable<fardashahr3.Models.Domain.Tbl_Bill>)中使用的模型内部没有产品详细信息(Tbl_Product),无法使用中的模型访问产品您的标记(Model.Tbl_Product.Product_IsDownload)。检查模型属性,然后将正确的模型传递到视图中。

答案 1 :(得分:0)

由于您的模型是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)
{
}