【问题标题】:Missing a using directive or an assembly reference error缺少 using 指令或程序集引用错误
【发布时间】:2019-12-01 10:35:24
【问题描述】:

看起来我缺少 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">

【问题讨论】:

  • 这不是您的真实代码,因为您的模型是IEnumerable,但您将其作为单个项目访问。另外,发布您的 Tbl_Bill 课程以供参考。
  • 感谢您的回复,但这不是我的真实代码是什么意思?
  • 如果 Model 是 IEnumerable,则没有属性 Tbl_Product,但我希望异常会说类似“IEnumerable 不包含 Tbl_Product 的定义”。跨度>

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    因为您的模型是IEnumerable&lt;...&gt;,您需要对其进行迭代:

    @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)
    {
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-02
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多