räkna tecken vill inte fungera

ASP

22 svar · 330 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Trådstart#1

ska inte detta gå ?

<%If Len(RS("newscontent")) < 300 Then%>
<%=RS("newscontent")%> 
<%Else%>
<%=Left(rs("newscontent"),220)%>
<%End If %>
Medlem sedan dec. 19996 522 inlägg
#2

om jag skriver så här

<% Response.Write""& Len(RS("newscontent"))  &"" %>
<br><br> 
<%=Left(rs("newscontent"),220)%>...

Så skriver han ut antalet tecken som fanns i rs:en och hoppar två rader, men han skriver inte ut den <%=Left(rs("newscontent"),220)%>...

Varför beter den sig så här ?

Medlem sedan apr. 200118 inlägg
#3

testa att tilldela en variabel värdet innan du skriver ut. typ:

<% Dim newscontent
If Len(rs("newscontent")) < 300 Then
 Response.Write(rs("newscontent")
Else
 newscontent = Left(rs("newscontent"), 220)
 Response.Write(newscontent)
End if %>

Det borde fungera.

Medlem sedan jan. 20012 204 inlägg
#4

fel-inriktat inlägg

------------------

Medlem sedan dec. 19996 522 inlägg
#5

Kod

<% Dim newscontent
If Len(rs("newscontent")) < 300 Then
Response.Write(rs("newscontent")
Else
newscontent = Left(rs("newscontent"), 220)
Response.Write(newscontent)
End if %>

ger

Expected ')'

/se/newsevents/News.asp, line 44

Response.Write(rs("newscontent")
--------------------------------^

Medlem sedan apr. 200118 inlägg
#6

*trött*

klantade till det, och glömde ett ")" efter Response.Write..

skall självklart stå:
Response.Write(rs("newscontent"))
och inte
Response.Write(rs("newscontent")
som jag råkade skriva.

jag ursäktar mig för det, och hoppas det löser sig ändå.

Medlem sedan dec. 19996 522 inlägg
#7

kommer fram nada! , hmmmm inte något synns alls

Medlem sedan apr. 200118 inlägg
#8

okej, då har jag faktiskt ingen aning just nu varför det inte funkar. kan du inte bifoga hela koden som berör just denna delen, och så, så kanske någon kan lösa det.

Har du kollat så att endast rs("newscontent") ger någon utskrift?

Medlem sedan dec. 19996 522 inlägg
#9

yuppz skriver jag enbart ut den så ger den det den ska skriva ut..


<% 
Do Until Rs.EOF
Dim newscontent
If Len(rs("newscontent")) < 300 Then
Response.Write(rs("newscontent"))
Else
newscontent = Left(rs("newscontent"), 220)
Response.Write(newscontent)
End if %>

		  <%=Left(rs("newscontent"),220)%>...<br>
            <img src="/bin/images/arrow_red.gif" width="7" height="9"><a href="view.asp?DocumentID=News&CatID=ne&Show=<%=RS("newsid")%>&NewsLanguageID=<%=RS("newslanguageid")%>">Läs mer</a><br>
            <br>
            <img src="/bin/images/dott_366px.gif" width="366" height="4"><br>
            <br>
          </td>
        </tr>
        <%
		RS.MoveNext
		Loop 
		RS.Close
		Set RS = Nothing
%>

[Redigerat av erka den 20 apr 2001]

Medlem sedan apr. 200118 inlägg
#10

en fåga bara...

varför skriver du ut rs("newscontent") två gånger? direkt efter if...else-satsen så skriver du ut den igen, med left-funktionen. inte för att det borde påverka, men det verkar onödigt...

sedan borde ju "läs mer..." endast skrivas ut ifall nyheten klipps. nu skrivs den ju ut ändå. eller är det meningen att det skall bli så ändå?

men, något fel kan jag inte hitta.

Medlem sedan dec. 19996 522 inlägg
#11

Du har helt rätt, den ska inte skrivas ut 2 ggr (left).. Men jag har den där så att om jag inte får det att fungera klippar jag bara bort det som inte fungerar...

Sen har du också helt rätt att läs mer inte ska stå om hela skrivs ut, men jag vill få det första att fungera först.. jag ser ju inte heller något fel..

Medlem sedan dec. 19996 522 inlägg
#12

nu fungerar det

<% 
sNewsContent = trim(rs("newscontent")) 
if len(sNewsContent) > 360 then 
response.write(left(sNewsContent,220) & "...") 
%>
<br>
            <img src="/bin/images/arrow_red.gif" width="7" height="9"><a href="view.asp?DocumentID=News&CatID=ne&Show=<%=RS("newsid")%>&NewsLanguageID=<%=RS("newslanguageid")%>">Läs mer</a><br>
<%
else 
response.write(sNewsContent)
Response.Write"<br>" 
end if 
%>
Medlem sedan apr. 200118 inlägg
#13

ogillar verkligen starkt när saker som detta händer. fel som inte kan hittas *suck*. =)

antagligen är det något som inte går rätt till när den försöker antigen kolla Len (fasst det funkade ju förut ?) eller när det Left:ar... mucho skummt.

har du testat att välja "visa->källa" och titta där och se ifall något felmeddelande gömmer sig där?

Medlem sedan dec. 19996 522 inlägg
#14

inget felmedelande, det var att jag använda trim. En kille hjälpte mig ;) Men vad gör trim exakt...Hmmm **känna sig lite ovetande**

Medlem sedan apr. 200118 inlägg
#15

okej. trevligt.

hum. vet faktiskt inte vad trim gör. sök i webforums forumarkiv typ.

brukar oftast fungera ;)

Medlem sedan dec. 19996 522 inlägg
#16

ingen som kan förklara exakt vad TRIM gör för nytta i kodsnutten ovan ? **blinka sött med ögonen**

Medlem sedan dec. 19998 577 inlägg
#17

Trim tar bort alla inledande och avslutande mellanslag... :)

Medlem sedan dec. 19996 522 inlägg
#18

tack vide, och i detta fall gör det detta vart någonstanns ?

Medlem sedan dec. 19998 577 inlägg
#19

Men ar du på vilken variabel???

sNewsContent = trim(rs("newscontent"))

Den tar alltså bort alla inledande/avslutande mellanslag ur rs("newscontent") och lägger det i variabeln sNewsContent...

Eller menade du något annat?

Medlem sedan juli 20003 825 inlägg
#20

ASP har sina egenheter... och det är möjligt att det räcker med att dunka in allt i en variabel.

Byt från
sNewsContent = trim(rs("newscontent"))

till
sNewsContent = rs("newscontent")

Jag vet inte... jag kanske har fel. Ibland blir man förundrad över alla till synes ologiska varianter som krävs för att få allt att fungera!

277 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)