2011-11-21 84 views
0

下面是我的ASP经典code.i有一个问题时,如果其他语句像这样..实际上它不工作..我想要做的是当我选择美国然后提交它会显示选中的美国..默认是ALL.sorry,因为我的英文不好。ASP CLASSIC LIST/MENU if语句

<% Response.write"<form action=""untitled.asp"" method=""post"">" 
    Response.write"<select name=""country"">" 
    Response.write"<option selected>ALL</option>" 
    Response.write" <option value=""1"" if request(""country"")=""1"" then 
    Response.Write""selected"">USA</option>" 
    Response.write" <option value=""2"" if request(""country"")=""2"" then 
    Response.Write""selected"">BRAZIL</option>" 
    Response.write"<label>" 
    Response.write" <input type=submit name=button id=button value=Submit />" 
    Response.write"</label>" 
    Response.write"</form>" 
%> 

感谢

回答

1

你的基本语法是错误的。这是应该如何完成的:

Response.write " <option value=""1""" 
If request("country")="1" then 
    Response.Write " selected=""selected""" 
End If 
Response.Write ">USA</option>" 

对于第二种选择也是如此。为了使其更加灵活和可读性,使用功能:

Function BuildOption(sValue, sRequestKey, sText) 
    Dim sHTML 
    sHTML = "<option value=""" & sValue & """" 
    If Request(sRequestKey)=sValue Then 
     sHTML = sHTML & " selected=""selected""" 
    End If 
    sHTML = sHTML & ">" & sText & "</option>" 
    BuildOption = sHTML 
End Function 

然后使用它是这样的:

Response.write BuildOption("1", "country", "USA") 
Response.write BuildOption("2", "country", "BRAZIL")