A következő címkéjű bejegyzések mutatása: attribútum. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: attribútum. Összes bejegyzés megjelenítése

2012. november 16., péntek

Page dupla request FF esetén

Ha azt tapasztalod, hogy a FF duplán requestel egy paget - amit nem kellene - , akkor keress rá,
hogy kódodban véletlenül  nem szerepel - e src="" string.  Pl, Img  vagy script tageknél.

A részletes leirás, hogy mi is történik:

http://www.nczonline.net/blog/2009/11/30/empty-image-src-can-destroy-your-site/

2012. augusztus 16., csütörtök

ViewModel attribútumok dinamikusan

A téma természetesen MVC.
Napok óta egy olyan elegáns megoldást próbálok kidolgzozni-beépíteni, amivel dinamikusan tudom kezelni (konfigurálni) az MVC View-khoz tartozó ViewModel-ek viselkedését.

Ezalatt azt értem, hogy például nagyon jól és egyszerűen lehet használni a gyári attribútumokat, többek között a validáláshoz és a control helperekhez tartozó label szövegek kiírásához, DE. Mindig van DE :).
Az alap problémám az volt, hogy ezek az attribútumok ugyan jók, de mi van, ha a validáció függ valamitől, valamilyen adattól, kliensen kiválasztott/beírt értéktől, parent view-tól függően más kötelező, workflow állapottól függően másképp kell validálni stb. Vagy mi van, ha ugyanígy a textbox elé írt label szövege függ valamitől. Például ha 2000 EUR-nál nagyobb az összeg, akkor CK Base Rate-et kell kiírni, ha kisebb akkor FH Base Rate-et. De a tartalom, mögötte a ViewModel-ben a property ugyanaz. Ezt nem olyan egyszerű megoldani, mert ha beégetjük az attribútumokat, akkor még a soksok if mellett is lesz fejtörés bőven.

Ugyan nem a spanyol viaszt találtam fel, de néhány ötletet találva és összerakva a végeredmény az lett, hogy egy custom meta data kezelőt írtam, ami egy adatforrásból kiolvassa (most épp xml-ből, de csatolható alá bármi) az atott típus adott property-jéhez az ADOTT KONTEXTUSBAN meghatározott attribútumait, és ezeket dinamikusan pakolja rá. 
Majd ezeket a HtmlHelper-ekben már a megszokott módon lehet kezelni, kiolvasni, és így egy komplett parciális View összerakásának kódja amiben 20 property adata van, nem több 20 sornál. És újrahasznosítható ez a 20 sor is, el tudom helyezni ugyanazzal a ViewModel-el egy print formra is, vagy egy tök más readonly felületre, beviteli formra, csak az xml-ben másképp kell felkonfigurálni a viselkedését, hozzá tartozó label szövegezését.

Ezen túl gyakorlatilag a határ a csillagos ég, hiszen írhatok custom attribútumokat, amikkel egyéb custom viselkedést írhatok le, és ezeket is az xml-ben írom le, vagyis fordítás és programozás nélkül meg tudom határozni. Sőt, továbbmegyek, EA-ban megrajzolt ábrákból az xml-t ki lehetne generálni.

Nem írnék konkrét kódot, inkább 3-4 linket, amiből el lehet indulni:
Using TemplateHint and other Model Metadata features in MVC
Get Custom Attributes from Lambda Property Expression
ASP.NET MVC LabelFor Helper With HtmlAttributes
Accessing attributes from Custom Html Helpers

Az alapötlet az első linken elérhető blogbejegyzésből jött, a többi az inkább segítség a továbbiakhoz.

2010. március 26., péntek

Attribútumok erőssége

Mindenki látja, hogy milyen erős vár is a miénk, ha attribútumokról van szó. WebMethod, aztán már hívható is (majdnem) netről a kód. Azt is látjuk, és gyakran el is álmodozunk róla, hogy ezzel többet is lehetne nekünk is kezdeni fejlesztések alatt, de kicsit misztikus az egész.
Meta adat.

Egy kezdeti cikk a későbbi beleásáshoz:
http://blogs.msdn.com/abhinaba/archive/2006/01/23/516163.aspx