在视图中继承属性会出现“错误:无法找到命名空间”

时间:2012-08-13 12:39:38

标签: asp.net-mvc

我得到的错误是:

  

找不到类型或命名空间名称'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);
}

1 个答案:

答案 0 :(得分:2)

包含班级的命名空间。否则,您的程序无法理解此LastSundayDate类的位置。

更改

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

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

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

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

现在您不需要为类添加完整的namespce,您只需在视图中访问该类即可。你问题中的代码可以正常工作。

如果此类是在当前UI项目以外的项目中定义的,则需要在References部分

下添加对该项目的引用