Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Karel Láska
Člen
Avatar
Karel Láska:15.3.2020 10:28

Hoj, na stránce mám použitý prvek ajax - htmleditorextender. Na stránce je mnoho dalších prvků, mimo jiné i gridview. Pokud je do textboxu (pro zmíněný htmleditor) vložen text, který na prvních pěti pozicích má pouze znaky, je vše v pořádku. Pokud je tam jakýkoli html tag, resp ostrá závorka, scripty na této stránce přestanou reagovat.(Delete button v gridu).

Zkusil jsem: Zajímavé je, že tlačítko funguje do chvíle, kdy ostrou závorku nedoplním.
Jakmile ji odmažu, vše je jak má být.
i bez refresh stránky, nebo uložení.

Chci docílit: Jedná se o jakousi knowlidgebase pro opravu strojů, souhrn návodů a jiných návodu v naší firmě

 
Odpovědět
15.3.2020 10:28
Avatar
Bugmaster
Člen
Avatar
Bugmaster:15.3.2020 15:49

S html editorem / extendrem jsem měl bohužel taky něco do činění (a od té doby se tomu úspěšně vyhýbám).

Nevím, v čem konkrétně vězí tenhle problém, napíšu ale několi postřehů/návrhů:

  • Zkoušel jsi HtmlEditor.Sa­nitizer? Jestli ne, tak ho zkus nainstalovat a zapnout. Jestli ho máš nainstalovanej a zaplej, tak ho zase zkuz vypnout.
  • Podívej se po chybách ve vývojářských nastrojích v prolížeči (F12), v záložce konzole.
  • Může taky dost záležet na prohlížeči, resp. nastavení kompatibility v meta tagu. Vzpomínám si, že jsem v IE narazil úplně absrudní problém, jehož řešení zavíselo právě na nastavení kompatibility.
  • Zkus do ScriptManageru přidat atribut ScriptMode="Re­lease", co to udělá (nejspíš nic).
  • Zkus ten problém co nejvíce izolovat. Vytvoř si úplně nový projekt, vlož tam tanhle html editor a postupně se zkoušej přiblížit k tomu, co už máš. Na začátku to téměř jistě bude fungovat. Pokud se to v určité chvíli rozbije, tak víš, co to způsobilo. Pokud to bude fungovat a dělat vše, co chceš, hledej rozdíl.

Moje zkušenost je taková, že problémy tohoto rázu je dost duchařina :(

Jestli najdeš příčinu a/nebo řešení, tak to sem určitě napiš. Ať se poučít i další lidé, kteří narazí na stejným problém.

Editováno 15.3.2020 15:51
 
Nahoru Odpovědět
15.3.2020 15:49
Avatar
Karel Láska
Člen
Avatar
Karel Láska:25.3.2020 15:09

Zdarec,
díky za náměty.

  • HTML sanitizer jsem stahl, nepodařilo se mi jej bohužel i přes cca 2 hodinovou snahu nastavit.
  • Žádný chyby nenalezny
  • Ověřeno v IE, Edge i chrome
  • ScriptMode ="Release" nastaen, nic

Poslední - odebrány veškeré prvky ze srtánky, krom zmíněných textboxů a nic.
V případě odebrání textboxu, vše OK.

 
Nahoru Odpovědět
25.3.2020 15:09
Avatar
Bugmaster
Člen
Avatar
Odpovídá na Karel Láska
Bugmaster:26.3.2020 17:50

Jak to přesně vypadá?

Z toho, co jsi psal, vím, že tam někde máš GridView a TextBox rozšířený na HtmlEditor.

Z toho mě napadají tři možnosti: (1) textbox máš před gridem, (2) v gridu nebo (3) za gridem. Co z toho?

Editováno 26.3.2020 17:51
 
Nahoru Odpovědět
26.3.2020 17:50
Avatar
Karel Láska
Člen
Avatar
Karel Láska:26.3.2020 18:33

Aktuálně jsem stránku zkrátil pouze na tyto 2 prvky.
Funguje stále stejně. Tedy jako že nefunguje .-)
Text box je před tabulkou. Vyzkoušeno i přehození. Kód přiložen.
Kod

 
Nahoru Odpovědět
26.3.2020 18:33
Avatar
Bugmaster
Člen
Avatar
Odpovídá na Karel Láska
Bugmaster:26.3.2020 20:03

Takhle v tom žádný očividný problém nevidím.

Jen mě trochu zarazilo tohle:

<asp:TextBox ... Text="<b>řešení</b>"  />

Čekal bych v tom atributu místo ostrých závorek entity.

Nicméně, to zřejmě problém taky není.

Tady jsem vytvořil v principu ten samej případ, ale v novém projektu.

Buď to funguje, nebo to neumím navodit.

Můžeš si to zkusit stáhnout a hledat, proč to funguje. Obávám se, že víc ti neporadím :/

 
Nahoru Odpovědět
26.3.2020 20:03
Avatar
Bugmaster
Člen
Avatar
Odpovídá na Karel Láska
Bugmaster:26.3.2020 20:13

Ještě jsem si všim, že máš AjaxControlToolkit registrovanej na strínce s tagPrefixem jako asp. Přidáváš to ale z prefixu ajaxToolkit.

To je divný.

Tipnul bych si, že prefix ajaxToolkit máš definovanej globálně ve web.config. Jestli to tak je, pak ale nemusíš regitrovat na stránce.

Zkus umazat ten řádek <%@ Register..., jestli to nehapruje kvuli tomu.

 
Nahoru Odpovědět
26.3.2020 20:13
Avatar
Karel Láska
Člen
Avatar
Karel Láska:27.3.2020 11:08

Díky za pomoc...
Tvůj projekt mě funguje, jakmile jej vložím do svého, přestane.
Dle rady odebrán <%@ Register..., Nic
Odmazáno i prefix ajaxToolkit. Nic
Zkusil jsem odstranit HtmlEditorExtender aby zůstal jen textbox.
VYskočila mě chyba o zabezpečení, říkal jsem si heuréka.
Odstraněno v direktivě stránky pomocí - validateReques­t="false"

A zas nic. Už jsem na tom strávil moc času, budu muset pokročit. Takže zvažuji možnost, že místo textboxu dám label, a když někdo bude editovat, skryji gridview :-D

 
Nahoru Odpovědět
27.3.2020 11:08
Avatar
Karel Láska
Člen
Avatar
Karel Láska:4.5.2020 9:15

Tak nakonec obejito způsobem který jsem uvedl výše.

Jakmile chci editovat, stisknu tlačítko, zpřístupním textbox a skryji gridview a label s kódem..
Dokončím editaci, skryji text box a zobrazím gridview a label.

Není to řešení, ale cesta :-)

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
4.5.2020 9:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.