0

私が得るエラーは次のとおりです。

タイプまたは名前空間の名前'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);
}
4

1 に答える 1

2

クラスの名前空間を含めます。そうしないと、プログラムはこの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セクションの下にそのプロジェクトへの参照を追加する必要があります。

于 2012-08-13T13:42:10.507 に答える