webForumDet fria alternativet

asp:hyperlink

13 svar · 417 visningar · startad av maqe

maqeMedlem sedan dec. 2003824 inlägg
#1

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

GrynetMedlem sedan maj 2001329 inlägg
#2

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.

maqeMedlem sedan dec. 2003824 inlägg
#3

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

GrynetMedlem sedan maj 2001329 inlägg
#4

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?

maqeMedlem sedan dec. 2003824 inlägg
#5

jag använder mig av vs.net, den kör väl ingen annan kompilator ?
får ju inget fel när jag kör den men när jag ska titta på den i IE så får jag detta felet.

GrynetMedlem sedan maj 2001329 inlägg
#6

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 :)

maqeMedlem sedan dec. 2003824 inlägg
#7

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") + "\\");" ))
                                                                                                                                                                     \~\~\~\~\~\~
maqeMedlem sedan dec. 2003824 inlägg
#8

Antar att det va det här du ville se? :)

GrynetMedlem sedan maj 2001329 inlägg
#9

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 == :(

maqeMedlem sedan dec. 2003824 inlägg
#10

Jag får samma fel med den koden :(

GrynetMedlem sedan maj 2001329 inlägg
#11

oncontextmenu='myFunction("mitt id");'

hmm

oncontextmenu='javascript:myFunction("mitt id");'

maqeMedlem sedan dec. 2003824 inlägg
#12

bägge dom funkar ju fint ...

GrynetMedlem sedan maj 2001329 inlägg
#13

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?

maqeMedlem sedan dec. 2003824 inlägg
#14

Servertaggen är inte korrekt formaterad får jag som fel då ...

257 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
133 ms — hämta statistik (db)
122 ms — hämta tråd, inlägg och bilagor (db)