Pröva detta
oncontextmenu='<%# "myFunction(\"" + DataBinder.Eval(Container.DataItem, "menuid") + "\");" %>'
alltså byt ut ' mot \" inne i taggen annars tror parsern att taggen slutar vid första ':en.
13 svar · 417 visningar · startad av maqe
Tjena!
jag har en funktion i javascript som ser ut såhär:
function myFunction(id) {
window.showModalDialog("../popups/properties.aspx?id=" + id), "", "resizable: no; help: no; status: no; scroll: no;";
}
Sen har jag en asp:hyperlink i min datalist som ser ut såhär:
<asp:HyperLink id="menulink" oncontextmenu="myFunction('apa')" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "linkname") %>' NavigateUrl='<%# "default.aspx?contents=" + DataBinder.Eval(Container.DataItem, "linkname")%>'></asp:HyperLink>
Problemet ligger i den delen som jag har gjort med fet stil. Istället för att skicka med värdet apa så skulle jag vilja skicka med menuid´t för den länken men jag klarar inte av att skriva det på rätt sätt men ungefär såhär kan jag tänka mig att det ska se ut:
oncontextmenu='<%# "myFunction('" + DataBinder.Eval(Container.DataItem, "menuid") + "');" %>'
men när jag skriver så får jag felmeddelande om att servertaggen inte är rätt formaterad. Kan någon kunnig person hjälpa mig vore jag glad
Pröva detta
oncontextmenu='<%# "myFunction(\"" + DataBinder.Eval(Container.DataItem, "menuid") + "\");" %>'
alltså byt ut ' mot \" inne i taggen annars tror parsern att taggen slutar vid första ':en.
När jag skriver som ovan får jag detta felmeddelande. Ett komma , ")" eller en giltig fortsättning på utrycket förväntas samt att menuid är understruket när kompilatorfelet visas
Det var konstigt fungerar alldeles utmärkt för mig att kopiera in det jag skrivit. Får inga fel eller nånting.
Vad använder du för kompilator?
aha..du menar i IE. Ta och view source och sen kopiera in det här så ska jag kolla vad som kan vara fel
C:\WINDOWS\system32> "c:\windows\microsoft.net\framework\v1.1.4322\vbc.exe" /t:library /utf8output /R:"c:\windows\assembly\gac\system.web\1.0.5000.0__b03f5f7f11d50a3a\system.web.dll" /R:"c:\windows\assembly\gac\system\1.0.5000.0__b77a5c561934e089\system.dll" /R:"c:\windows\assembly\gac\system.web.services\1.0.5000.0__b03f5f7f11d50a3a\system.web.services.dll" /R:"c:\windows\assembly\gac\system.xml\1.0.5000.0__b77a5c561934e089\system.xml.dll" /R:"c:\windows\assembly\gac\system.drawing\1.0.5000.0__b03f5f7f11d50a3a\system.drawing.dll" /R:"c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\test\01cc68ea\7c93ce7\assembly\dl2\2a1134c5\60742555_25c6c301\test.dll" /R:"c:\windows\assembly\gac\system.web.mobile\1.0.5000.0__b03f5f7f11d50a3a\system.web.mobile.dll" /R:"c:\windows\assembly\gac\system.data\1.0.5000.0__b77a5c561934e089\system.data.dll" /R:"c:\windows\assembly\gac\system.enterpriseservices\1.0.5000.0__b03f5f7f11d50a3a\system.enterpriseservices.dll" /R:"c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\test\01cc68ea\7c93ce7\e0tb5nnd.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\test\01cc68ea\7c93ce7\rel_hsqn.dll" /D:DEBUG=1 /debug+ /win32resource:"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\test\01cc68ea\7c93ce7\rel_hsqn.res" "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\test\01cc68ea\7c93ce7\rel_hsqn.0.vb"
Microsoft (R) Visual Basic .NET-kompilator version 7.10.3052.4
för Microsoft (R) .NET Framework version 1.1.4322.573
Copyright (C) Microsoft Corporation 1987-2002. Med ensamrätt.
http://192.168.0.3/test/secure/Default.aspx(87) : error BC32017: Ett komma, ")" eller en giltig fortsättning på uttrycket förväntas.
CType(target,System.Web.UI.IAttributeAccessor).SetAttribute("oncontextmenu", System.Convert.ToString( "myFunction(\\"" + DataBinder.Eval(Container.DataItem, "menuid") + "\\");" ))
\~\~\~\~\~\~
Antar att det va det här du ville se?
Njea det var inte vad jag ville se. Jag ville se nått som jag skulle kunnat lösningen till
Jag har inte en susning om vad som kan vara fel. Den enda ledning jag kan ge dig är:
har du verkligen menuid i din collection som du binder med?
Försök i vilket fall som helst att ta bort så mycket kod som kan vara fel som möjlig..tex
oncontextmenu='<%# "myFunction(\"mitt id\");" %>'
Funkar det så har du ringat in felet funkar det inte så är det nått annat.
ursäkta sent svar..hamnade i lite egna problem med en mongo override po Equals som inte automatiskt overridar ==
Jag får samma fel med den koden
bägge dom funkar ju fint ...
pröva med
oncontextmenu=<%# "myFunction('mitt id');" %>
det går inte att gå till design läge med detta men det borde funka i broswern?
Servertaggen är inte korrekt formaterad får jag som fel då ...