2015-02-17 60 views
0

使用ASPPDF,我從用戶輸入創建一個PDF表單。ASP如果聲明設置參數

當用戶選擇一個收音機選項時,我可以設置數據寫入PDF的位置。

If Request("type") = 1 Then x=57 
If Request("type") = 1 Then y=506 else 
If Request("type") = 2 Then x=57 
If Request("type") = 2 Then y=400 else 

Page1.Canvas.SetParams "color=black, linewidth=2" 
Page1.Canvas.DrawLine x, y, x + 7, y - 7 
Page1.Canvas.DrawLine x, y - 7, x + 7, y 

這會在我的PDF中的相應框中生成一個X標記。

我的問題是,這些字段的值需要是一個字符串,而不是數字。當我嘗試這個時,我沒有收到任何錯誤,但它也沒有寫任何東西。

If Request("type") = AP Then x=57 
If Request("type") = AP Then y=506 else 
If Request("type") = AR Then x=57 
If Request("type") = AR Then y=400 else 

Page1.Canvas.SetParams "color=black, linewidth=2" 
Page1.Canvas.DrawLine x, y, x + 7, y - 7 
Page1.Canvas.DrawLine x, y - 7, x + 7, y 

我不能簡單地在表單中更改爲數​​字,那些相同的值在整個腳本中多處使用,我需要它作爲值,而不是數量。

我也試過在值的周圍加上「」(引號),但那也不管用。

... 
If Request("type") = "AP" Then x=57 
... 

有幫助嗎?

+0

當你'的Response.Write(請求( 「類型」))'您能得到什麼? – SearchAndResQ 2015-02-18 06:23:27

回答

2

結構錯誤if .. then .. else聲明。正確的語法如下:

' Single-Line syntax: 
If condition Then statements [Else elsestatements ] 

' Or, you can use the block form syntax: 
If condition Then 
    [statements] 
[ElseIf condition-n Then 
    [elseifstatements]] . . . 
[Else 
    [elsestatements]] 
End If 

因此,你剪斷可以像代碼如下:

If UCase(Request("type")) = "AP" Then 
    x=57 
    y=506 
ElseIf UCase(Request("type")) = "AR" Then 
    x=57 
    y=400 
Else 
    ' 
End If 

或者

Select Case UCase(Request("type")) 
    Case "AP" 
     x=57 
     y=506 
    Case "AR" 
     x=57 
     y=400 
    Case Else 
     ' 
End Select 

注:UCase函數返回已被轉換爲字符串大寫,因爲我們可以不知道哪個字母大小寫Request("type")是(例如ap,aPApAP?)。

資源:VBScript Language Reference

+0

謝謝!你的UCase解決方案工作。我正在做一個快樂的舞蹈! – 2015-02-18 16:01:36