TagPrefix未在此Web表单中注册

时间:2015-08-10 13:36:51

标签: asp.net

我已经从Package Manager Console安装了Entity Data Source 6.0,然后我浏览了已安装的DLL并将新的EntityDataSource添加到工具箱中,然后将其拖放到我的Web表单中,如下所示:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="EntityFrameworkProject._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

  <div>
      <ef:EntityDataSource ID="EntityDataSource1" runat="server"></ef:EntityDataSource>
  </div>

</asp:Content>

在我的aspx页面的“设计”视图中,我收到错误:

  

无法显示此控件,因为其TagPrefix不是   在此Web表单中注册。

如何注册此TagPrefix? Visual Studio也不应该默认使用前缀,因为它是自动创建的吗?

2 个答案:

答案 0 :(得分:1)

您需要在aspx页面的顶部注册 ef TagPrefix

<%@ Register TagPrefix="ef" Namespace="MyApp.Controls" Assembly="MyApp" %>

其中 MyApp.Controls 是定义自定义控件的命名空间, MyApp 是自定义控件的程序集。

答案 1 :(得分:0)

从NuGet(仍为6.0.0版)安装了Microsoft.AspNet.EntityDataSource软件包之后,应在页面顶部添加以下内容以注册<ef:EntityDataSource />

<%@ Register TagPrefix="ef" Namespace="Microsoft.AspNet.EntityDataSource" Assembly="Microsoft.AspNet.EntityDataSource" %>