簡體   English   中英

元素'ToolkitScriptManager'不是已知元素

[英]Element 'ToolkitScriptManager' is not a known element

所以我有一個名為WebParts.aspx的文件,看起來像這樣 -

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebParts.aspx.cs" Inherits="e.WebParts" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">


    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </asp:ToolkitScriptManager>

    <div>
      <asp:TabContainer ID="TabContainer1" runat="server">


      <asp:TabPanel ID="TabPanel1" runat="server">
      <ContentTemplate>Page One</ContentTemplate>
      </asp:TabPanel>

      <asp:TabPanel ID="TabPanel2" runat="server">
      <ContentTemplate>Page Two</ContentTemplate>
      </asp:TabPanel>

      <asp:TabPanel ID="TabPanel3" runat="server">
      <ContentTemplate>Page Three</ContentTemplate>
      </asp:TabPanel>

      </asp:TabContainer>
  </div>
  </form>
</body>
</html>

這樣就可以在標簽容器中創建3個選項卡面板。

但是,當我更改該頁面以使用MasterPage.master看起來像這樣 -

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebParts.aspx.cs" Inherits="eservice.WebParts"  MasterPageFile="~/MasterPage.Master"%>

<asp:Content ID="Content2"  
  ContentPlaceHolderID="ContentPlaceHolder1" 
  runat="server">

  <asp:LoginView ID="LoginView1" runat="server">
    <LoggedInTemplate>
       <p id="backtoblog"></p>
       <p> Preferences</p>
        <div>


    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </asp:ToolkitScriptManager>

    <div>
      <asp:TabContainer ID="TabContainer1" runat="server">


      <asp:TabPanel ID="TabPanel1" runat="server">
      <ContentTemplate>Page One</ContentTemplate>
      </asp:TabPanel>

      <asp:TabPanel ID="TabPanel2" runat="server">
      <ContentTemplate>Page Two</ContentTemplate>
      </asp:TabPanel>

      <asp:TabPanel ID="TabPanel3" runat="server">
      <ContentTemplate>Page Three</ContentTemplate>
      </asp:TabPanel>

      </asp:TabContainer>
  </div>
   </div>
  </LoggedInTemplate>
    <AnonymousTemplate>
      You are not logged in.
      <br />
      Please login to access eservice
    </AnonymousTemplate>
  </asp:LoginView>

  </asp:Content>

VS2008給了我以下警告:

元素'ToolkitScriptManager'不是已知元素。 如果網站中存在編譯錯誤,或者缺少web.config文件,則會發生這種情況。

在以下行:

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">

您的第二個文件不包含該行

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

你在第一個文件中有。 僅僅因為母版頁知道了asp:前綴以及與之關聯的程序集/命名空間,並不意味着子頁面會這樣做。

更好的方法是在web.config中注冊程序集/命名空間/標記前綴,如下所示:

<configuration>
    <!-- ... -->
    <system.web>
        <!-- ... -->
        <pages>
            <controls>
                <add tagPrefix="asp"
                     namespace="AjaxControlToolkit"
                     assembly="AjaxControlToolkit" />
            </controls>
        </pages>
    </system.web>
</configuration>

元素'ToolkitScriptManager'不是已知元素。 如果網站中存在編譯錯誤,或者缺少web.config文件,則會發生這種情況。

以防有人碰到這個。 對我來說,修復是導入的項目屬性指向4.5.2框架。 我選擇了一個較舊的框架,然后再次選擇4.5.2。 這擺脫了上面提到的錯誤以及其他幾十個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM