2011-12-29 14 views
3

の場合は、従来のASPを初めて使用しています。以下のコードで何が問題になっていますか?条件エラーの場合は取得しないでください。助けてください。クラシックASPで動作しない条件が

<select NAME="Priority" style="WIDTH:200px" Id="Priority"> 
    <option value='0' <%= if(condition) then "selected" end%> 0 </option> 
    <option value='1' <%= if(condition) then "selected" end%> 1 </option> 
    <option value='2' <%= if(condition) then "selected" end%> 2 </option> 
    <option value='3' <%= if(condition) then "selected" end%> 3 </option> 
</select> 
+0

私は*これはあなたが投稿しようとしたものだと思っています。 –

+0

元の投稿は、編集する前に何を表示しましたか?あなたは条件に基づいて与えられたオプションを選択しようとしていますか?または、HTML出力に「選択済み」という単語を表示しようとしていますか?または、...このコードに基づいて、あなたが何をしたいかについての詳細を教えてください。 – leanne

答えて

4

は次のようになります。

<% if condition then response.write("selected") %> 

詳細情報についてはこちらをご覧ください:

http://www.codefixer.com/tutorials/If_then_else.asp

+0

これは正しいですが、[@EduardoMolteni approach](http://stackoverflow.com/a/8669602/692942)は、このタイプの条件を処理するための私の好ましいアプローチです。 – Lankymart

0

を選択(優先順位)は、あなたが使用することができ、データベースからデータを取得している場合関数。 ページが更新または挿入されていますか?

<select NAME="Priority" style="WIDTH:200px" Id="Priority"> 
<option value="0" <%= isSelected(Priority,"0") %>>0</option> 
<option value="1" <%= isSelected(Priority,"1") %>>1</option> 
<option value="2" <%= isSelected(Priority,"2") %>>2</option> 
<option value="3" <%= isSelected(Priority,"3") %>>3</option> 
</select> 


    Function isSelected(x,y) 
    if Cstr(x) = Cstr(y) then 
     isSelected = "selected=""Selected""" 
    else 
     isSelected = "" 
    end if 
end Function 

項目の優先度は数値フィールドで、デフォルト値が割り当てられています。グローバルに使用されているページに関数スニペットを配置します。

+0

類似していますが、[@EduardoMolteni answer](http://stackoverflow.com/a/8669602/692942)はより一般的なアプローチです。 – Lankymart

1

VBScriptにはin-line if機能はありません(私は文章を書きませんでした)。あなたがすることができます

function iif(siONo, SiRetval, NoRetval) 
    if SiONo then 
     iif = SiRetval 
    else 
     iif = NoRetval 
    end if 
end function 

:だから私はいつも私のツールボックスでこれを持って

<option value='0' <%= iif(condition, "selected", "") %> 0 </option> 
+0

ベストアプローチはこちら!なぜそんなに票をあげないのですか? +1 – Lankymart

-1

はあなたが場合は、「場合」末端欠落していたのとASPを閉じた後で行方不明の余分な終了タグがありましたコードブロック%>。これがうまくいきたいです。

<select NAME="Priority" style="WIDTH:200px" Id="Priority"> 
    <option value="0" <% if(condition) then Response.write("selected") end if %>>0</option> 
    <option value="1" <% if(condition) then Response.write("selected") end if %>>1</option> 
    <option value="2" <% if(condition) then Response.write("selected") end if %>>2</option> 
    <option value="3" <% if(condition) then Response.write("selected") end if %>>3</option> 
</select> 
+0

Classic ASPで 'If'をインラインで呼び出す場合、' End If'は必要ありません。 – Lankymart