在视图中继承属性可"error:namespace could not be found"



我得到的错误是:

找不到类型或命名空间名称"LastSundayDate"(是否缺少 using 指令或程序集引用?

这是我的视图代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Report/Report.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<LastSundayDate>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
   Trade Searches Data
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>TradeUK KPI Searches Data</h2>
<p></p>

然后我有:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TradeUK.Entities.Reporting
 {
   public class LastSundayDate
   {
       public virtual int Title { get; set; }
       public virtual int Total { get; set; }
       public virtual int Week6 { get; set; }
       public virtual int Week5 { get; set; }
        public virtual int Week4 { get; set; }
        public virtual int Week3 { get; set; }
       public virtual int Week2 { get; set; }
        public virtual int Week1 { get; set; }
   }
 }

在我的控制器中,我有:

public ActionResult TradeUKKPIShowData(DateTime date) //show actual data in the view
{
  var reportData = _reportingService.GetTradeUKKPISearches(date);
  return View(reportData);
}

包括类的命名空间。 否则,您的程序无法理解该类LastSundayDate存在于何处。

改变

Inherits="System.Web.Mvc.ViewPage<IEnumerable<LastSundayDate>>

Inherits="System.Web.Mvc.ViewPage<IEnumerable<
                                     TradeUK.Entities.Reporting.LastSundayDate>>

或者,您也可以将命名空间导入视图。在视图中的 Page 指令声明上方添加此行

<%@ Import Namespace="TradeUK.Entities.Reporting" %>

现在,您无需为类添加全名,只需在视图中访问该类即可。您问题中的代码可以正常工作。

如果此类是在当前 UI 项目以外的项目中定义的,则需要在 References 部分下添加对该项目的引用

相关内容