UserControl - laczenie kilku UControli

0

Witam, pisze projet dla WSS4 ale problem dotyczy samych US. Takze po krotce postaramsie go opisc.
Tworze webparta co mozna uznac za swoita userControl. Do projektu dolanczam dwie UserControlki (Nowy VS tworzy domyslnie kataog ControlTemplates gdzie przechowywane UserControle). Na kontrolce ucHello wstawiam tylko texboxa do ktorego bedziemy cos wpisywali. Kontrolke ucHello podlanczam pod kontrolke (przez SRC) ucLicz ktora bedzie miala za zadanie przechwycic wartosc przeslana przez propertiesa w postaci stringa z texboxa na kontrolce ucHello. A potem zwrocenie wartsci Lenght na swoim textboxie. Juz wtedy VS blednie genereuje w pliku ucLicz.ascx.designer.cs kod z przestrzenia nazw:

//Tworzy to przez co nawet jezeli zmienna przesle przez propertiesa to nie jest ona widoczna

protected global::System.Web.UI.UserControl Bigusercontrol;
//A powinno byc tak (kiedy wpisze z palca wszystko jest okej):
protected global::Kolejny_Test.ControlTemplates.Kolejny_Test.ucHello Bigusercontrol; 

Nie bylo by to takie uciazliwe bo przeciez mozna to zmienic z palca niestety po kazdej zmianie w dotyczacej edycji w rozmieszczeniu elementow na kontrolce badz ich dodaniu/usunieciu kod w ucLicz.ascx.designer.cs zostaje od gory do dolu wygenerowny od nowa i trzeba za kazdym razem poprawiac.

Przesiadam sie dpiero na nowego VS i moze jakies ustawienia sa jeszcze zle albo to po prostu BUG.

Ponizej zamieszczam krotki projekcik z dwoma us i webpartem z ktorym jest analogicznie jak z uc.

http://www.sendspace.com/file/y2miyh

0

Trudno mi jest wywnioskować z Twojego opisu, co chcesz osiągnąć. Co te kontrolki mają ze sobą wspólnego? Jak ma przebiegać interakcja?

0

chodzi o zwykla wymiane danych. Przyklad:

kontrolka "A" na ktorej jest zmienna string "jakis_tekst" podpieta jest pod kontrolke "B" na ktorej jest Button i Textbox. ClickButton ma przechwycic wartosc "jakis_tekst" i w tekstboxie zwrocic wartosc Lenght. Na kontrolce A mam propertiesa i tak przekazuje wartosc "jakis_tekst". Wiem ze to nic glupi przyklad ale chodzi mi tylko o komunikacje i wymiane danych miedzy kontrolkami.

0

Wklej może obecny kawałek kodu odpowiadający zdarzeniu ClickButton.

0

to jst kod cs pierwszej kontrolki:

namespace Kolejny_Test.ControlTemplates.Kolejny_Test
{
    public partial class ucHello : UserControl
    {
        public string Tekst { get { return TextBox1.Text; } set { value = Tekst; } }
        
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}

a to kod cs drugiej kontrolki do ktorej wrzucona jest pierwsza:

namespace Kolejny_Test.ControlTemplates.Kolejny_Test
{
    public partial class ucLicz : UserControl
    {
               
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = Bigusercontrol.Tekst.Length.ToString(); 
        }
    }
}

tak wyglada podlaczenie kontrolki pierwszej w drugiej:

<%@ Register Src="~/_controltemplates/Kolejny_Test/ucHello.ascx" TagName="Hello" TagPrefix="uc" %>
<uc:Hello ID="Bigusercontrol" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Policz" onclick="Button1_Click" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
0

U mnie VS wygenerował:

protected global::usercontrols.ControlTemplates.ucHello Bigusercontrol;

gdzie usercontrols, to jest jakaś moja przestrzeń nazw.

0

hmm a pracujesz pod VS 2008 czy 2010 ?

0
kombajn666 napisał(a)

hmm a pracujesz pod VS 2008 czy 2010 ?

Aha i jak tworzysz te userControle ? Poprzez robienie webParta i dodawanie new Item w postaci userControls ?

Jeszcze ewentualnie moglbys mi podeslac swoj kod zebymo mogl przejrzec ale naprawde nie wiem czemu mi to tak smiesznie generuje:/

1 użytkowników online, w tym zalogowanych: 0, gości: 1