Tema: Re: asp.net ir BasePage
Autorius: IF
Data: 2009-12-05 10:12:22
As tai nesu ASP zinovas, ir apskritai laikausi taisykles jei gali isvengti 
webinio HTTP protokolo tai isvenk, kuris mano galva saugiausias ir 
patikimiausias tik HTMLui. Tai cia atrepeckoja ASP zinovai meskos, gal 
issamiau paaiskins. Bet ziurint is bendros OOP paveldejimo pozicijos:

1 Tam paciam projekte Bazine klase negali paveldeti ji gali buti tik 
paveldima. Nes tokiu atveju paveldimos klases turi gana griezta hierarhine 
paveldejimo struktura.Kitu atveju gaunasi kazkas panasaus, lyg noretum kad 
senelis paveldetu anuko savybes
2 Norint paveldeti klase ne is projekte naudojamos hierarchines klasiu 
strukturos, nurodomas pilnas paveldejamos klases hierarchinis kelias:
 NE >> PAVELDETI> PaveldejamosKlPav
 o pilna paveldejamos klases hierarchija
 PAVELDETI >> KitaBazineKlase.Klase1.Klase2.Klase3.PaveldejimosKlPav
3. Kitas budas norint paveldeti Klase ne nuo projekte naudojamos bendros 
hierarchines  klasiu strukturos, tai Klases pradzioje parasyti paveldimos 
Klases elementaru importa, taip lyg noretum naudoti tik tos klases metodus, 
o po to dar karta parasyti paveldejimo operatoriu.
4. Visos sintakses turi operatoriu, kuriuo galima uzdrausti Bazinei klasei 
buti bazine, tuo atveju projekte dingsta ir nuo tos klases sukurta 
paveldejimo hierarchija, taip lyg supakuotos viena i kita matrioshkos, 
elementariausiai isbarstytum kiekviena atskyrai.

P.S Globalus projektai igavo komiksu pavidala, paveldejima nustatant ne OOP 
hierarchinemis paveldejimo metodikomis, o hierarchinemis biurokratinemis bei 
dar labiau komiksinemis tos biurokratijos administravimo priemonemis.Kurios 
viena karta priejo liepto gala, bet atrodo kad Marijos zemeje dar toli grazu 
kad ne.

Respectas uz tai ,kad nors kazkas daroma ne plunksnakociais ir jiems 
vadovaujanciomis tetutemis, nustatinejant rysius tarp informaciniu objektu.


"VyvIT" <labas@viso.iki> wrote in message 
news:hfbca9$ee8$1@trimpas.omnitel.net...
> Sveiki,
>
> iškilo ir man vienas klausimėlis:
> turiu asp.net web site'ą, kurio puslapiai  paveldėti iš BasePage'o, t.y:
>
> public class BasePage : System.Web.UI.Page
> {
> ...
> }
> //login.aspx codebehind'as
> public partial class Login : BasePage
> {
>    ASP.global_asax.CustomMethod("bla");  // <- cia yra intellisence'as
>    Global.CustomMethod("bla"); //<- noriu
> }
> global.asax'e turiu susikures statini metoda CustomMethod.
>
> Login codebehind'e matau  ASP.global_asax klasę ir metodą, jei BasePage be 
> error'ų (t.y. global_asax klasę background'e sukompiliuoja), o man reikia, 
> kad galėčiau ASP.global_asax matyti ir BasePage' tam, kad galėčiau 
> susikurti tos klasės property ir puslapiuose naudoti kaip 
> Global.CustomMethod:
>
> public class BasePage : System.Web.UI.Page
> {
> public ASP.global_asax Global {  get {    return 
> ((ASP.global_asax)Context.ApplicationInstance)    }}
> }
>
> Bet BasePage'e ASP.global_asax jau neberodo intellisence'o ir 
> nesikompiliuoja, nes rekia, kad nežinomas namespace'as ASP. Ir manau, kad 
> kažkur web.confige ar pan. nusirodo, kad prima sukompiliuotų global_asax, 
> o tik po to BasePage'ą ar kad nusirodytų buildinimo eiliškumas ar pan.
>
> Jei kas suprato ko noriu, tai lauksiu pagalbos :)
>
> -- 
> VyvIT
>