Type 'MojeKomponenty.RedirectingSqlDataSource' is not defined.   zodpovězená otázka

VB.NET

Dobrý den, zkouším se prokousat seriálem o ASP.NET vše mi funguje vše chodí a najednou tato chyba.

Třídu RedirectingSqlDataSource.vb mám v adresáři APP_CODE a začíná kódem

Imports Microsoft.VisualBasic
Imports System.ComponentModel

Namespace MojeKomponenty

    Public Class RedirectingSqlDataSource

        Inherits SqlDataSource

Ve stránce v ~/Administrace/seznam.aspx mám tento kod na začátku:

<%@ Register Namespace="MojeKomponenty" TagPrefix="moje"%>

a kód kde je chyba je tady

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <h1>Kategorie</h1>
    <moje:RedirectingSqlDataSource ID="SqlDataSource1" runat="server"
    
     RedirectAfterDataOperation="true"
        ConnectionString="<%$ ConnectionStrings:AConnectionString %>" 
        DeleteCommand="DELETE FROM [tTema] WHERE [ID] = ?" 
        InsertCommand="INSERT INTO [tTema] ([Nazev]) VALUES ( ?)" 
        ProviderName="<%$ ConnectionStrings:AConnectionString.ProviderName %>" 
        SelectCommand="SELECT [ID], [Nazev] FROM [tTema] ORDER BY [Nazev]" 
        UpdateCommand="UPDATE [tTema] SET [Nazev] = ? WHERE [ID] = ?">
        <DeleteParameters>
            <asp:Parameter Name="ID" Type="Int32" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="Nazev" Type="String" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="Nazev" Type="String" />
            <asp:Parameter Name="ID" Type="Int32" />
        </UpdateParameters>
    </moje:redirectingsqldatasource>

Po zkoumání co se děje, jsem zjistil že v designer kódu nenajde intelisense toto:

Protected WithEvents SqlDataSource1 As Global.MojeKomponenty.RedirectingSqlDataSource

ale toto ano, jenže potom to hlásí zase jinou chybu nesoulad ..:

Protected WithEvents SqlDataSource1 As Global.MujProjekt1.MojeKomponenty.RedirectingSqlDataSource

Dokáže mě někdo nakopnout správným směrem?

Zkusil jsem u třídy nastavit BuildAction na compile.

VS mám 2010 Profesional

Díky Marek

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud v designer kodu odstranim Global tváři se vše jak má dojde i ke kompilaci a spuštění.

Ale při vstupu na stránku se objeví:

Chyba analýzy

Popis: Při analýze prostředku vyžadovaného pro zpracování požadavku došlo k chybě. Prohlédněte si následující podrobnosti o chybě při analýze a příslušným způsobem upravte zdrojový soubor.

Chybová zpráva analýzy: Základní třída zahrnuje pole SqlDataSource1, ale její typ (SwitTestyCJ.MojeKomponenty.RedirectingSqlDataSource) není kompatibilní s typem ovládacího prvku (MojeKomponenty.RedirectingSqlDataSource).

Zdrojová chyba:

Řádek 10: <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

Řádek 11: <h1>Kategorie</h1>

Řádek 12: <moje:RedirectingSqlDataSource ID="SqlDataSource1" runat="server"

Řádek 13:

Řádek 14: RedirectAfterDataOperation="true"

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Máte nějaký zvláštní důvod pro SqlDataSource tvořit "vlastní komponenty"?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jde o komponentu popsanou v serialu o ASP zde na stránkách.

V podstatě nemám, redirect po uložení lze udělat i jinak.

Ale problém není v komponentě, ale v NAMESPACE, které je viditelé pouze odkazem z asembly projektu jak jsem popsal výše.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Projekt máte jako Web Application Project nebo Web Site?

Web Application Project má výchozí namespace definován v jeho vlastnostech, Web Site žádný namespace nemá.

V seriálu o ASP.NET se tuším vytváří WebSite, ale podle popisované chyby to spíš vypadá, že máte Web Application Project s výchozím namespace "MujProjekt1". To by vysvětlovalo ten nesoulad mezi namespace.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

a ve web.config to máte zaregistrováno správně?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

web config byla ta chyba děkuji :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback