Új hozzászólás Aktív témák
-
amargo
addikt
Én sajnos több szempontból is a deklaratív megfogalmazást részesítem ilyenkor előnyben. Pedig az okosok azt mondják, hogy xamel-ben "minden" leírható. Ellenben, ha csapatban dolgozol egy másik kollégád lehet nem fogja érteni, hogy miért úgy van leírva.
Hozzáteszem, ha igazán szépen akarod megcsinálni - és később is szükséges a felhasználása -, akkor származtatod az objektumot és akkor mindenki tudja, hogy mire való vagy készítesz neki egy külön property-t, beszédesebb.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
Karma
félisten
Mármint milyen objektumot akarsz velem leszármaztatni?
Egyébként ezt más ember nem fogja olvasni. Mondjuk ezzel a motivációval írta meg egy csimpánz eredetileg: WPF elemekből de WinFormsos (vagy inkább Delphis) logikával, millió+1 getter/setter hívás széthányva egyetlen MainWindow.xaml.cs állományban többezer soron át. Én leültem mindezt megcsinálni szépen, hiszen bugos is volt, javítani meg lehetetlen.
Szerk.: A javítással legalább értem mire gondolsz
Mindenki: azt hiszem tényleg ez lesz a holnapi program. A View osztályba belerakom ezt a kiválasztás-logikát, aztán remélem menni fog Az eredetiben is volt ilyen (nem csoda), csak reméltem, hogy meg tudom oldani kevesebb kóddal.
[ Szerkesztve ]
“All nothings are not equal.”
-
x007
tag
Én Behavior-t írnék, két ok miatt:
- designerrel (Blend) is könnyen rádobhatod a controllra
- újrafelhasználhatóságItt egy tutorial:
http://www.wpftutorial.net/Behaviors.html -
martonx
veterán
válasz st4rlight #2308 üzenetére
nem kötözködésképpen, de a behavior tulajdonképpen code-behind, nem?
Vagy akkor mit nevezünk code-behindnak, és mit nem? Én mindent, ami nem xaml (meg persze nem config fájl, azaz minden ami kód).
Vagy csak én nem tudok valamit jól, és lehet pusztán xaml-ben behaviort írni???Én kérek elnézést!
-
st4rlight
tag
válasz martonx #2309 üzenetére
Code-behind az mint nevéből is adódik: mögöttes kód. XAML-nek van code-behindja. A másik eset, amikor sima .cs fájl van, na az csak simán code.
Nem, jól tudod, behavior-t csak code-ban lehet írni, XAML-ből nem, az felületleíró (de amit a végén úgyis .cs-be parszol a compiler), funkcionalitást ott nem lehet írni (ide nem keverendő az adatkötés, stb technika természetesen).
Aztán lehet, hogy mások máshogy hívják, de én különbséget teszek, elvégre egy konverter sem code-behind, de nekem így logikus.
A config fájl az konfig fájl és nem kód. Azt úgy hívjuk
[ Szerkesztve ]
//developer
-
j0k3r!
senior tag
hello!
lenne egy problemam, amit nem igazan ertek, hogy miert nem mukodik. adott egy tabla (registertable), amiben van egy elsodleges kulcsu mezom: uid, amit elvileg beallitottam ugy, hogy automatikusan noveljen az adatbazis (int tipusrol van szo: IsIdentity:Yes, Identity Increment:1, Identity Seed:10).
gyakorlaskepp megprobaltam volna hozzaadni egy par tesztadatot:RegisterLINQ2SQLDataContext dctx = new RegisterLINQ2SQLDataContext();
registertable r = new registertable
{
// uid = 6,
uname = "hfdsfdsedik",
uadmin = 0,
uaccstatus = 0,
uemail = "valadsamimas@valamdsaimas.hu",
upasswd = "proba12ds345",
uregdate = DateTime.Now
};
try
{
dctx.registertables.InsertOnSubmit(r);
dctx.SubmitChanges();
}
catch (Exception e)
{
Console.WriteLine("hiba: {0}", e.Message);
}
try
{
var v = from u in dctx.registertables
select new { u.uname, u.uregdate, u.uid };
foreach (var t in v) Console.WriteLine(t);
}
catch (NullReferenceException e)
{
Console.WriteLine("hiba: {0}", e.Message);
}
Console.ReadKey(true);a gond az, hogy ha nem kezzel allitom be az uid-t (kikapcsolom az Identity-t es a kikommentelt reszt is futni hagyom), akkor dob egy ilyet: (a mar meglevo adatok is igy kerultek be)
a kerdesem: mi a teendo?
elore is koszonom a segitseget.
[ Szerkesztve ]
some men just wanna watch the world burn...
-
v5k
csendes tag
Basszus.
Fél órája ezen agyalok, de még mindig nem jöttem rá, hogyan lehet egy tömb minden azonos elemét csak egyszer kiíratni. Tehát ha van egy tömböm a következő elemekkel: [0,1,4,2,5,24,42,5,1,4] akkor hogy lehet azt megoldani, hogy az 1-est és a 4-est csak egyszer mutassa a felhasználónak a program?
-
ArchElf
addikt
Pl megnézed hogy az aktuális elemig szerepelt-e már az az elem benne már egyszer. Mondjuk ennél jóval gyorsabb az, ha sorba rakod az elemeket és csak azt nézed meg, hogy az aktuális azonos-e az előző elemmel.
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
nagyúr
-
-
nagyúr
válasz ArchElf #2322 üzenetére
Bármit lehet frissíteni. A régi 2-es dolgokat nem bántja, ha kerül bele 3.0. IIS-nek nem fáj, más meg nem reklamál érte - hacsak az ügyfélnél nincs olyan policy, hogy .NET 2.0 fölötti verzió nem telepíthető, de ez meg maradiság. Én is találkoztam olyan projekttel nem rég, ahol kerek-perec ki lett mondva, hogy csak 2.0 lehet a kódban, de indokolni nem tudták. Talán csak ahhoz értettek.
Manapság azért már illik a 2.0-t elhagyni szerintem.
[ Szerkesztve ]
-
-
nagyúr
válasz martonx #2324 üzenetére
Nem elég jó indok, az Express is elég a legtöbb dologra. Ha meg egy cég .NET vonalon mozog, érdemes MS partnerként tevékenykedni (akár silver, akár gold). Ez még nem indok a 2.0-nál leragadásra, csak a vezetők ezek szerint nem értik meg, hogy nekik is jobb, ha fejlődnek a programozók.
[ Szerkesztve ]
-
martonx
veterán
Sajnos mi ezernyi vonalon mozgunk (java, php, .net, vbscript), és a fő csapásirányunk nem is a fejlesztés (talán inkább a fejlesztetés alvállalkozókkal). Így aztán senki nem akar pusztán egy fejlesztő környezetre több száz K-t elkölteni. Az Express egyébként tényleg sok dologra elég.
Én kérek elnézést!
-
Boolash
aktív tag
Sziasztok,
Elakadtam egy problémával, remélem tudtok tippet adni.
VS2010-ben fejlesztek VisualWebPartot. Adatbázisba töltöttem fel fájlokat (binárisan tárolom) illetve a hozzá tartozó adatokat, és most ezeket szeretném kiolvasni, letölteni.
Indítottam egy Linq to Sql lekérdezést, mellyel megtaláltam a számomra érdekes elemeket. Ezeket egy Listába tárolom. Az egész lekérdezést a Page_Load -ban végzem, hogy az oldal betöltésekor már meglegyen ez a listám. Viszont nem szeretném, hogy ezt a lekérdezést többször is el kelljen végeznem, ezért Postback esetben nem végzem el ( if (!Page.IsPostBack))A Listát egy SPGridView-ban jelenítem meg. Az spgridview-ban lényegében a dokumentum neve és az ID-ja jelenik meg (egyedileg azonosítja).
A dokumentum nevét LinkButton-ban jelenítem meg. OnCommand() eseményre egy függvényt hív, melyben végzem el a letöltést, CommandArgument-ben elküldöm az adott ID-t.
<asp:TemplateField HeaderText="Név">
<ItemTemplate>
<asp:LinkButton
ID="LnkDownload"
runat="server"
Text='<%# Eval("Name")%>'
OnCommand="download"
CommandArgument='<%# Eval("ID")%>'>
</asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>A download metódus a cs-ben:
protected void download(Object sender, CommandEventArgs e)
{using (DataClasses1DataContext dc = new DataClasses1DataContext("Data Source=..."))
{
int a;
bool b = int.TryParse(e.CommandArgument.ToString(), out a);
Document d = doksik.Single(p => p.ID == a);Label1.Text = d.Name;
Response.Clear();
Byte[] bytes = (Byte[])d.BinaryData.ToArray();
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = d.MimeType.ToString();
Response.AddHeader("content-disposition", "attachment;filename="
+ d.Name.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();}
}
Az SPGridview szépen megjelenik, benne a linkbutton is. Rákattintok, és le is tudom tölteni. Viszont a következő kattintás már nem lehetséges (se linkbuttonra se sima buttonra...). Olyan mintha a postback nem futna le...
Nem vagyok tökéletesen tisztában a működéssel, de szerintem van valahol egy ajax-os scriptmanager, mert ha próbálok egyet hozzáadni, akkor nem engedni, azt írja, hogy már van. Próbálkoztam updatepanelbe rakni, majd triggert állítani rá, de nem működött (ugyanaz).
Próbálkoztam response.redirect-el, de ez nem lenne jó, mert ilyenkor a linq lekérdezés is ismét lefutna...
Próbáltam postback hívással javascriptből, de nem történt változás..
Mi lehet a gond?
Köszönöm -
nagyúr
Lejárt az idő: de az is megoldás lehet, ha külön <form> közé kerül a gomb. Vagy egy kis popup ablakkal csinálod meg, hogy másik HTTP Handlert használjon.
A Response.End() már csak azért sem ideális, mert például a Response.Redirect már eleve lefuttatja és ha azzal használod, meg sem hívódik, mert már egy End() befejezte az oldal futtatását.
[ Szerkesztve ]
-
Boolash
aktív tag
-
Boolash
aktív tag
Nem értem, hogy miért nem megy így. Csináltam egy Labelt, amit a Response részek előtt átírok (látszik a kódban). Ha kiveszem a Response részeket, akkor kattintás után látszik az eredmény, illetve tudok többet kattintani is, tehát nem a linkbuttonnal van a gond, hanem a response részekkel. De miért nem zárul le a response? Próbáltam Response.Close() , de az sem segít..
Nem találtam a neten más módszert a fájl letöltésre, viszont ha csak ez van, akkor ennek mennie kellene popup nélkül is. Popup megoldást csak végső esetben alkalmaznám... átadni azt a sok attribútumot (pl bináris kód), vagy még egy lekérdezés.. meg egy új ablak..
Nincs valami más lehetőség?
Köszi, hogy segítesz! -
amargo
addikt
Blend-et használ itt valaki?
Valamiért 2 tervezőnél sem akar működni megfelelően, egyszerűen control ráhúzása esetén nem dobja oda. Persze rálehet rakni, ha duplán rányomsz, akkor a balfelsőbe dobja és utána húzogatva is megy. De addig nem.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz martonx #2337 üzenetére
Én nem tudom miért rozzant meg.. most valami logot próbálok majd túrni. Mert a hibát sem tudom megfogalmazni vagy az MS majd kitalálja.
Ui.: Egyszerű sima win7-es gépekre lett felpakolva. Bár az érdekes, hogy az összes fejlesztőnél megy rendesen..
[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
sutszi
veterán
Üdv!
Orchard CMS-el kapcsolatban lenne szükségem segítségre.
Aki jártas LINQ,Entity Framework-ben az is lehet, hogy tud segíteni.Az Orchard a saját adatait SQL Server Compact 4.0 fájlalapú adatbázisban tárolja. Ehhez szabadon hozzá lehet adni tetszőleges táblákat...
Egy olyan modult készítettem hozzá ami képes Tanfolyamok adatait tárolni és megjeleníteni.
Az adatok lekérdezését végző metódus jelenleg egy tanfolyam adatait jeleníti meg.
CourseDriver.cs:using Course2.Models;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
using System.Linq;
namespace Course2.Drivers
{
public class CourseDriver : ContentPartDriver<CoursePart>
{
protected override DriverResult Display(CoursePart part, string displayType, dynamic shapeHelper)
{
return ContentShape("Parts_Course", () => shapeHelper.Parts_Course(
Name: part.Name,
Target: part.Target,
Day: part.Day,
Hour: part.Hour,
Place: part.Place));
}Hozzá tartozó View - Course.cshtml:
<fieldset>
<legend>@Model.Name</legend>
<br />
<div class="display-label">Target: @Model.Target</div>
<br />
<div class="display-label">Day: @Model.Day</div>
<br />
<div class="display-label">Hour: @Model.Hour</div>
<br />
<div class="display-label">Place: @Model.Place</div>
</fieldset>Szeretnék egy olyan lekérdezést írni, ami a táblából kiolvassa az összes tanfolyam nevét...Van valami ötletetek?
Előre is kösz a segítséget.
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
martonx
veterán
devportálra is beírtam. Légyszi legalább annyi fáradtságot vegyél, hogy elolvasod az EF getting started részét. Kb. 5 perc és tudni fogod a választ.
Ráadásul hirtelen lesz EF jártasságod is. Hát nem megéri azt az 5 percet?Nézd itt az első oldal, rögtön van rajta példa kód is, nem is kell tovább olvasnod:
http://msdn.microsoft.com/en-us/library/aa697427%28v=vs.80%29.aspx
Én kérek elnézést!
-
sutszi
veterán
válasz martonx #2341 üzenetére
Gondolod nem vettem a fáradtságot, hogy megpróbáljam kitalálni mit kéne ide használnom?!
Bár, lehet félreérthető voltam nem megoldást vártam, hanem pont egy ilyen linket amit dobtál. Megnézem. Kösz.Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
martonx
veterán
válasz st4rlight #2343 üzenetére
abszolút nem voltam beképzelt. Küldtem neki egy linket (hehe, az elsőt amit a gugli kidobott), és mint kiderült ő pont ilyet várt.
Vicces néha más helyett guglizni, és ezt talán picit éreztettem is, de ezt semmiképpen sem beképzeltségnek hívnám. Inkább jogos kritikának.
Akkor lettem volna beképzelt, ha csak annyit írok, hogy hagyj békén az ilyen pitiáner problémákkal, vagy gugli a barátod.Én kérek elnézést!
-
sutszi
veterán
válasz martonx #2344 üzenetére
Egy kis mese:
~ 2 hónapja napi 5-6+ órában C#-t tanulok. ASP.NET-et,MVC-t...meg Orchard-ba modulfejlesztést úgy, hogy az utóbbiakat teljesen 0 szintről kezdtem. Szóval elhiheted, hogy mostanában a gugli a legjobb barátom.(Mivel mindenféle személyi segítség nélkül csinálom) Igazából pont nem, mert nekem a te linked nem dobta, ellenben adott pár másikat, amin oktatóvideók és egyéb nem rövid anyagok vannak mindez msdn-ről. Ettől függetlenül még kérhetek segítséget, mert nem mindegy, hogy egy problémát 2 nap alatt értek meg, vagy egy kis rávezetéssel 2 óra alatt. (Ezért is került fel több fórumra a kérdésem.) Tudod több szem többet lát...
Nem kértem, hogy bárki is guglizzon helyettem, hanem egy hozzáértő fejlesztő segítségét vártam, aki azt mondja, hogy igen ez egy LINQ lekérdezés lesz, vagy EF, vagy SQL-el lenne jobb...vagy más egyéb módon, és dob egy linket ahonnan megértem a módszert miért van úgy ahogy.
Ezzel azt szerettem volna elkerülni, hogy órákig rágjam át magam olyan anyagokon is amik nem relevánsak a számomra.
Persze írhattam volna egy kerettörténetet is, de gondoltam egy szakmai fórumon elég ha a nyers problémára szorítkozom.Amúgy ha nem segítesz szívesen, akkor ne tedd, mert az ilyesfajta lekezelős stílusra senkinek sincs szüksége, elhiheted.
[ Szerkesztve ]
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
martonx
veterán
rendben. Mivel az Orchard CMS ASP.NET MVC alapú, ezért mondjuk ha a www.asp.net/mvc (gondolom ez már nem újdonság) oldalon végigfutod a default tutorialt, akkor abban találni fogsz EF adatkötést.
Tehát a lényeg: EF-vel kellene megoldanod, szvsz ez illeszkedik legjobban az MVC desing patternhez.
EF használatát pedig az általam linkelt MSDN oldalon tanulhatod meg a legjobban, de ha jól érzem neked nem is az EF-fel van bajod (az általad várt lekérdezés a létező legegyszerűbb EF lekérdezés), hanem hogy hogy juttatod el az adatokat a view-ba?Vagy a view-ba el tudnád juttatni, csak pont az az egy sornyi EF nem megy?
Én kérek elnézést!
-
sutszi
veterán
válasz martonx #2346 üzenetére
Csináltam sima MVC 3-as tutorial-okat, és ott gond nélkül ment az egész. Code-first/Model-first/Database-fist megoldásokat is már átlátom.
De amikor az itt használt megoldásokat akartam, Orchard alatt megoldani, akkor vagy egy sor sárga halált kaptam, vagy a View-ban semmi nem jelent meg.Mondjuk engem eleve megzavart,hogy a "klasszikus" MVC felépítés mellett az Orchard-os srácok bedobtak egy ilyen Driver nevezetű valamit, amire azt írják lényegében Controller funkciói vannak...szóval ez is kicsit zavaros.
A fentebb beírt ilyen Driverben van a Display metódus amit Override-olni kell, mert ez mondja meg a View-t, és hogy mit ad át neki. Azt, hogy hol akad el az "adat", nem tudom, mert hiába raktam breakpointokat az intellitrace semmit sem mutatott a kérdéses változókra.
Most nem tudok éppen, de holnap dobok olyan kódot, ami szerintem jó kellene, hogy legyen mégsem működik.
Amúgy átnézem amiket javasoltál.
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
martonx
veterán
Mivel Orchard-hoz sosem csináltam plugint, így csak linkeket tudok küldeni, hátha valamelyiket még nem olvastad:
http://www.orchardproject.net/docs/?AspxAutoDetectCookieSupport=1
Itt a Working with Data szekciót javaslom. Az oldalakban vannak további hasznosnak tűnő linkek. Emellett használd ki, hogy az Orchard, és a pluginjai open source cuccok. Tölts le valami adatbáziskezelős plugint, és nézd meg a kódját, hogy ott hogyan oldották meg az adatok utaztatását.
Én kérek elnézést!
-
sutszi
veterán
válasz martonx #2349 üzenetére
Az Orchard-os docs-ot, már teljsen átnéztem, de elég alap segítséget ad. Ezek alapján csináltam meg az modult, meg ami eddig benne van.
Amúgy itt van például ez a rész:
Ez a CourseDriver.cs forrása:public class CourseDriver : ContentPartDriver<CoursePart>
{
OrchardEntities db = new OrchardEntities();
protected override DriverResult Display(CoursePart part, string displayType, dynamic shapeHelper)
{
var CourseName = from z in db.Course2_CourseRecord
select z;
return ContentShape("Parts_Course", () => shapeHelper.Parts_Course(
CourseName.ToArray()));
}
}Ez pedig a hozzá tartozó View:
@model IEnumerable<Course2.Course2_CourseRecord>
<h2>Index</h2>
<ul>
@foreach (var item in Model)
{
<li>
@Html.Label(item.Name);
</li>
}
</ul>Lefordul és látszólag jónak tűnik. Az eredmény mégis egy tök üres oldal.
Szerinted mit nézek be?[ Szerkesztve ]
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Laptop 15,6" -70% i7-10610U 4Mag 32GB 512GB SSD FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5
- Bomba ár! HP EliteBook 830 G6 - i7-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 5580 - i5-G6 I 8-16GB I 256 SSD I 15,6" FHD I HDMI I CAM I W10 I Garancia