ASP.NET Web site   zodpovězená otázka

ASP.NET WebForms

Zdravím. Prosím, mám pár dotazů. Vězte, že jsem již na internetu hledal, a abych nelhal, odpověd jsem našel, ale buďto byla v angličtině, nebo jsem jí dostatečně neporozuměl. Ptám se tedy vás, jestli by jsme mi mohly vyslvětlit, nebo dát odkaz na nějaký dobré článek, zabývající se problematikou:

Vyhledávání na webu (vůbec nevím, jak něco takového vytvořit, princip, nějaký názorný příklad,...)

a RSS (to samé)

Díky moc za pomoc.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A ještě detail... Používám XML.. na vše

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den,

pro dosažení vašich cílů exituje několik rovnocenných způsobů a provedení. Pokud si nebudete vědět rady, řešení téměř všech dílčích situací naleznete na tomto webu (SQL připojení, atd....)

Vyhledávání - varianta 1 (Google)

Pro vyhledávání je nejjednodušší použít Google a nastylovat si ho dle svých představ tak, aby byl podobný webu (popř. jej uzavřít do iframe přímo a webu). Informace najete zde: http://www.google.cz/coop/cse/ .

Vyhledávání - varianta 2 (jednoduchý SQL full-text)

Co do jednoduchého vyhledávání na webu, doporučuji vyrobit normální ASPX stránku s vyhledávacím formulářem (textbox a tlačítko) a k ní nějaký vypisovací mechanismus (DataGrid/DataList/Repeater). Při kliknutí na tlačítko provést SQL příkaz, jehož výsledek se potom vloží do vypisovací plochy (DataGrid....). Ten SQL příkaz zní

SELECT * FROM mojeTabulka WHERE mojePolozka LIKE '%hledanyText%'

mojeTabulka nahradíte SQL tabulkou, ve které vyhledáváte (např. články/odkazy....);

mojePolozka nahradíte sloupcem, ve kterém vyhledáváte (např. nadpis/perex/obsah....);

hledanyText nahradíte vyjádřením textu z TextBoxu (pozor na SQL injection - viz Google).

A teď k tomu, co jste to vlastně udělal: Příkazem SELECT jste vybral data z požadovaného umístění a klauzolí WHERE jste je profiltroval jen na ta, co jsou relevantní zadanému dotazu. Jistě jste si také všiml operátoru LIKE, ten funguje podobně jako operátor =, jen ale navíc nabízí možnost, aby filtrovaný text obsahoval i další data - u operátoru = 'programování' vám vyjedou pouze řádky, u kterých daný sloupec obsahuje jenom slovo programování. Operátor LIKE dovoluje vložení entity, která reprezentuje cokoliv (to jsou ta procenta), takže vám mohou vyjet na stejný dotaz s tímto oprátorem i položky, jako třeba úvod do PROGRAMOVÁNÍ, nebo PROGRAMOVÁNÍ pro začátečníky, ale slovo programování se neskloňuje, to dokáže až pokročilejší fulltextové vyhledávání.

Vyhledávání - varianta 3 (pokročilý full-text)

Fulltextové vyhledávání tedy dokáže již i jednoduše skloňovat slovy, hledat ekvivalenty (jako 1 místo jedna..) a další takové věci. Jeho využití doporučuji pouze na větších webech, protože je velmi výkonné a náročné na tvorbu, takže dávat to na blog zase není zas tak dobrý nápad... Nicméně k výrobě takového systému silně doporučuji využít komponenty od Microsoftu, které už mají MSSQL servery v sobě, nebo je stačí doinstalovat, psát to odznova se rozhodně nevyplatí... Schodou okolností jsem se asi před rokem na těchto fórech zrovna na fulltextové vyhledávání ptal, takže by vám nemělo dělat problém, někde můj dotaz i odpověď na něj najít...

RSS - varianta 1 (online generátor)

Samozřejmě nejjednodušším a nejméně náročným způsobem je využít online webovou službu, která rozezná na webu opakující se části a je schopna vyrobit na tomto základě celkem slušný výsledek. Použití je jednoduché, najdete takovou službu, zadáte několik hodnot do formuláře, trošku to poladíte (většinou služba nabídne několik alternativ), a nakonec si zkopírujete odkaz na vaše RSS, který potom dáte na svůj web. Takových služeb je celkem dost, když dáte do Googlu "RSS generator", hodně toho na vás vyskočí. Já našel třeba http://feedity.com/ a další...

P.S. tohle jsem na feedity.com vytřískal pro vbnet.cz:

--> http://feedity.com/rss.aspx/vbnet-cz/Uld...

RSS - varianta 2 (vlastní generátor)

Pokud však chcete mít feed úplně pod kontrolou (chcete třeba sdělovat třeba jen novinky - čas, nadpis a perex), doporučil bych vám vytvořit si vlatní handler (*.ashx) a v něm pomocí cyklů, napojení na databázi a StringBuilderu nebo Linq si vyrobit vlastní malý RSS generátor (stačí si otevřít jakékoliv RSS z větších serverů a podívat se na syntaxi - je to dost jednoduché)

RSS - varianta 3 (využití cizí komponenty)

Chcete-li přenášet pomocí RSS nějaká složitější data nebo data s větším objemem, měl byste si radši někde na internetu najít komponentu pro generování RSS (je jich celkem dost - placené/neplacené). Já na RSS používám RssToolkit, což je free komponenta z CodePlexu. Stejně ale budete muset vytvořit nějaký handler s napojením na databázi, jenom jediný rozdíl bude, že budete vkládat data do objektově naprogramované třídy nebo struktury a komponenta to schroustá a vyplivne RSS (pozor na češtinu a encoding - hodně komponent s nimi blbne)

Doufám, že vám tyto způsoby nějak pomůžou,

Petr Mánek

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Moc děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A ještě dotaz. Když chci místo SQL použít XML?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback