2014-04-18 17 views
0

我有一個帶有下面代碼的asp頁面。我應該檢查docid是否是DocId的一部分。我嘗試了一個for循環,但它不工作。我對asp很陌生。如何搜索Cstr數組中的元素

DocId = DocumentObj.ID 
    if Len(strDisplay) > 0 then 
    strDisplay = strdisplay + "&DocID=" + Cstr(DocId) 

<script language="JavaScript"> 

function ShowDocument(docid) { 
    ...... 
    .... 
    } 

For循環,我裏面ShowDocument()使用

for(i=0; i< Len(Cstr(DocId)); i++){ 
    if(docid = (Cstr(DocId)(i))){ 
} 
} 
+1

'CStr()'是一個VBScript字符串函數,用於將值轉換爲字符串,它不像JavaScript中存在的數組,它實際上不能使JavaScript也沒有你的代碼的尾巴,對不起。 – Lankymart

回答

-1

在VBScript(經典ASP)試試這個:

DocId = DocumentObj.ID 
    if InStr(1,strDisplay,Cstr(DocId)) = 0 then 
    strDisplay = strdisplay + "&DocID=" + Cstr(DocId) 

源看http://www.virtualsplat.com/tips/asp-function-instr.asp,如果你想使用Javascript那麼你應該使用

var n = strDisplay.LastindexOf(DocId); 

爲了讓您的JavaScript IE獨立使用LastIndexOf而不是最近開始的.indexof會帶來一些令人頭痛的問題,並且如果n> 0,則再次執行操作,因爲您的DOCID是字符串的一部分。 JavaScript語法的良好來源是http://www.w3schools.com/jsref/jsref_indexof.asp

+0

你甚至知道OP的要求嗎?就我個人而言,我不明白你如何回答這個問題,而沒有作出任何假設,因爲OP沒有清楚地說明他的問題。 DocID是否包含多個值,如果是這樣的話,它是像分隔列表一樣結構還是其他的?代碼沒有意義,所以你如何能夠提供解決方案? – Lankymart

+0

@Lankymart:OP問題對我來說已經夠清楚了,如果對你來說不是 - 不要問他。我可以在我的答案上諮詢你,而不是他的問題。 –