webForumDet fria alternativet

Får inte variabeln att fungera

ASP

7 svar · 571 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Det var ett tag sen jag körde asp nu och jag får inte denna variabel att fungera

<%set showBorder
if showBorder="1" then
response.write "border=1"
elseif showBorder="0" then
response.write "border=0"
end if%>
Medlem sedan dec. 2004736 inlägg
#2

Om showBorder ska vara ett True/False-värde, alltså visa ramen/visa inte ramen bör du ha den som en boolean:

<%
Dim showBorder
showBorder = True

If showBorder Then
    Response.Write("border=1")
Else
    Response.Write("border=0")
End If
%>

Men med din kod (ett heltal):

<%
Dim showBorder
showBorder = 1

If showBorder = 1 Then
    Response.Write("border=1")
ElseIf showBorder = 0 Then
    Response.Write("border=0")
End If
%>
Medlem sedan juni 20019 519 inlägg
#3

set använder du inte till vanliga objekt, dim:ar och sätt dom en egen rad:

dim showBorder
showBorder = "1"

Men om det är ett nummer du jobbar med så sätt det som ett nummer och kolla mot ett nummer:

<%dim showBorder
showBorder = 1
if showBorder=1 then
response.write "border=1"
elseif showBorder=0 then
response.write "border=0"
end if%>
Medlem sedan feb. 20032 027 inlägg
#4

med

<%dim showBorder
showBorder = 1
if showBorder=1 then
response.write "border=1"
elseif showBorder=0 then
response.write "border=0"
end if%>

<html>
<head><title>Testsida</title></head>
<body>
<center><H2>Skapa tabeller på ett enkelt sätt</H2></center>
<P>
<code>
En tabell består av själva tabellen &lt;TABLE&gt;, i tabellen finns en tabellrad &lt;TR&gt; som börjar och bryter rader. Där själva innehållet i tabellen finns kallas tabelldatacell &lt;TD&gt;. För att webläsaren ska förstå och för att man ska kunna utläsa koden så måste man dessutom avsluta elementen med / som i &lt;/TABLE&gt; , &lt;/TR&gt; och &lt;/TD&gt;
</code>
<P>
<TABLE>
<TR>
<TD VALIGN="TOP">

<TABLE <%=showBorder%> HEIGHT="150" WIDTH="400">

får jag TABLE 1 och inte TABLE border="1"

Medlem sedan juni 20019 519 inlägg
#5

Ja, du sätter ju showBorder till 1, är det att du vill ha det som en border så ta bort response.write och sätt showBorder till det sträng värde istället.

<%dim showBorder
showBorder = 1
if showBorder = 1 Or showBorder = 0 Then
	showBorder = "border=""" & showBorder & """"
End If
%>

<html>
<head><title>Testsida</title></head>
<body>
<center><H2>Skapa tabeller på ett enkelt sätt</H2></center>
<P>
<code>
En tabell består av själva tabellen &lt;TABLE&gt;, i tabellen finns en tabellrad &lt;TR&gt; som börjar och bryter rader. Där själva innehållet i tabellen finns kallas tabelldatacell &lt;TD&gt;. För att webläsaren ska förstå och för att man ska kunna utläsa koden så måste man dessutom avsluta elementen med / som i &lt;/TABLE&gt; , &lt;/TR&gt; och &lt;/TD&gt;
</code>
<P>
<TABLE>
<TR>
<TD VALIGN="TOP">

<TABLE <%=showBorder%> HEIGHT="150" WIDTH="400">
Medlem sedan feb. 20032 027 inlägg
#6

Nu får jag bara border=1 oavsett om jag anger att det ska vara 0 eller 1

Medlem sedan juni 20019 519 inlägg
#7

http://voigt.se/sandbox/wf/WebbisNet/border.asp?borderSize=0
http://voigt.se/sandbox/wf/WebbisNet/border.asp?borderSize=1

Det ända jag har gjort är för att se till att QS frågor också fungera:

<%dim showBorder
If IsNumeric(Request.QueryString("borderSize")) Then
	showBorder = CInt(Request.QueryString("borderSize"))
	if showBorder = 1 Or showBorder = 0 Then
		showBorder = "border=""" & showBorder & """"
	End If
End If
%>

Få både border 0 och border 1 när jag kör båda frågorna.

Medlem sedan feb. 20032 027 inlägg
#8

hittade felet, du hade ju angett borderSize

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)