Sök  
 
Skribent Inlägget Löst
Google
 
     

  Forum » ASP.NET 2.0 » Usercontrol som DLL  
 
Skriven av: jimmie | den 17 februari 2008 Kl 15:49
Usercontrol som DLL Tråden är löst
Hej, jag har en liten website i visual studio 2005.
den innehåller endast två stycken Usercontrols (ascx) i rooten samt ett par hjälpklasser som ligger i App_Code.

Jag vill få dessa till en enda DLL som kan importeras av andra projekt och därmed använda User Controlsen på enklast möjliga sätt.

jag har testat ta "publish website" men lyckas då endast med att få två olika dll'er. en som heter App_Code.dll och en som heter App_Web_cxwy2bgv.dll samt några .compiled filer.

hur gör jag för att få en enda dll med valfritt namn? som sedan kan importeras och användas direkt?


Antal svar 15



NAVIGERING: 1 [2]
Skriven av: Arcuza | den 19 februari 2008 Kl 09:53
Jag skrev en artikel om hur du kommer igång med custom controls här på aspsidan:

http://www.aspsidan.se/default.asp?page=readArticle&artId=537

Har du några frågor på hur du går vidare är det bara att ställa dem. Värst med custom controls är att om du ska skapa något i stil med GridView så blir det ganska mödosamt. Bäst är om kontrollen liknar någon som redan finns så att du kan ärva den (som i artikeln).
Skriven av: jimmie | den 19 februari 2008 Kl 10:02
åh va bra! tackar, skall kolla på detta
Skriven av: jimmie | den 19 februari 2008 Kl 17:15
så enkelt det var, iaf för mitt ändåmål. bara lite html kod jag skulle ha skrivit ut så jag ärvde från Control och overridade Render och använder HtmlTextWriter för skriva ut lite html-kod.

tack vimpy och arcuza
Skriven av: Arcuza | den 19 februari 2008 Kl 22:20
Bra jimmie. Jag vill bara höja en aningens finger för att ärva från Control. Det kan vara att ärva lite för tidigt och om du har en enkel kontroll så varför inte ta Literal eller Label?

Att ärva från Control kan i vissa fall betyda att du måste implementera design-stöd och attribut som gör att din kontroll blir lika lätt att använda som alla andra.

Testa att slänga in din kontroll i ItemTemplate i en Repeater och se om den kan utsättas för late-bound databinding t.ex.
Skriven av: Kooseh | den 17 juli 2012 Kl 10:29
Hej. Jag hittade den här tråden och ditt problem var exakt likadant som mitt. Frågan är väldigt gammal men den blev aldrig riktigt besvarad. Så nu när jag lyckades äntligen lösa problemet tänkte jag att jag kan ge svaret ifall några andra snubblar in hit med samma problem.

Det är så att man måste ge sin usercontrols ascx-sida ett klassnamn:
Kod:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Test.ascx.cs" Inherits="BVExtern.Test" ClassName="BVExtern.Test_ascx" %>



För att sedan där man vill använda DLL:en kunna använda sig utav ascx-filen som user-control. Vad både du och jag gjorde fel var att använda code-behinden som user-control.

Dvs. när man ska stoppa in user-controllen på sin sida så använder man
Kod:
<bv:Test_ascx ID="test1" runat="server" />



Då har man alltså pekat in sig på ascx:en som i sin tur använder sig av sin code-behind-fil. Istället för att peka in på ascx:ens code-behind, vilket gör att ascx-filen aldrig pekas till nånstans.
NAVIGERING: 1 [2]
 
     

  Svara på inlägg  
 
Du måste vara medlem på ASPsidan för att kunna skriva i forumet.
För att bli medlem klicka här.
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,1719 sekunder att ladda sidan