Tak, obecnie w ramach GridView asp, mam następującyjak uciec znaków przy użyciu stronie serwera ograniczniki
<span id="btnEdit" runat="server" onclick="ShowEditCriteriaFilterDialog('<%#Eval("intSMCID")%>', '<%#Eval("strDescription")%>')" class="linkText">Edit</span>
Co mam w zasadzie szukasz jest składnia cytaty/podwójnego notowania faktycznie dokonaj tego prawidłowo, ponieważ to, co mam powyżej, nie działa poprawnie.
Po pierwsze, jeśli enkapsuluję cały onclick z pojedynczymi cudzysłowami, a nie umieszczam żadnych innych cudzysłowów w środku, działa on w celu renderowania, ale kiedy klikam łącze w czasie wykonywania, nic się nie dzieje.
Gdybym upakować całą onclick z podwójnymi cudzysłowami, jak większość właściwości elementu ASPX, nie wyświetla się poprawnie, a wszystko po przecinku, która jest po pierwszym <% # Eval%> sprawozdanie przedstawia się jako rzeczywisty tekst na ekranie. Prowadzi mnie to do przekonania, że należy wykonać pewne operacje ucieczki, aby zapobiec myśleniu, że program obsługi klikania kończy się gdzieś w środku tej instrukcji.
Zauważ, że jeśli zabiorę runat = "serwer" i po prostu zamknę go w podwójnych cudzysłowach, to wydaje się, że działa lepiej ... ale potrzebuję tego zakresu, aby był kontrolerem po stronie serwera dla wielu innych funkcji. mają w kodzie strony jest za którym muszę przejść kontrolę poprzez FindControl
Czy możesz wymyślić zamiennik JavaScriptStringEncode, który jest w starszych wersjach .net. Uważam, że jest to .NET 4 lub 4.5. Ten projekt to .NET 2.0 (poza kontrolą). –
@ScottFortier: Tutaj jest przykład dla .NET 2.0: http://www.west-wind.com/weblog/posts/2007/Jul/14/Embedding -JavaScript-Strings-from-an-ASPNET-Page (Brakuje tylko przypadku dla '' ', co powinno być zgodne z innymi przypadkami.) –
W porządku, pierwsza opcja/rozwiązanie w odpowiedzi kompiluje/uruchamia/wyświetla poprawnie, ale podoba inna odpowiedź, w rzeczywistości nic nie robi po kliknięciu i dostarcza błąd skryptu do przeglądarki. To właśnie tag wygląda w widoku źródła: Edytuj –