2013-09-09 5 views
0

У меня довольно сложная (> 3k строк) классическая страница ASP, которая должна подавлять определенный раздел на основе значения CountryID. Я создал логические переменные и установил их в true, если CountryID задания является конкретным значением. Первоначальная логика заключается в следующем:Как правильно подавить раздел классической страницы ASP

blnUSJob = False 
    blnCanadaJob = False 
    blnAUJob = False 
    blnNZJob = False 
    nCountryID = 0 

    If GetJobCountry(nJobAd_ID) = "CA" Then 
    blnCanadaJob = True 
    nCountryID = 2 
End If 

Я создал разметку, которая делает, если blnCanadaJob имеет значение True:

<% 
if not blnCanadaJob then 
%>  
<tr> 
<td width='30%' class='StandardLight' style="background-color:#dddddd" 
    valign='middle' align='right'> 
<b>For replacement positions enter the following information for previous 
    incumbent</b> 
<b>Name:</b><span class="Required">nbsp;*</span>&nbsp;<input type="text" 
    name="txtName" class="StdFieldName" value ="<%=strName %>" size="50" maxlength = 
    "50" /><br> 
</td> 
</tr> 

Теперь, мне нужно убедиться, что эта разметка подавлено для других CountryIDs. Какой был бы лучший способ сделать это? Должен ли я повторить вышеупомянутую разметку с инструкцией по оценке для конкретного идентификатора страны? Или, есть ли более элегантный способ справиться с этим?

Благодарим за помощь и руководство.

ответ

2

Если у вас есть больше возможностей, отборное заявление будет лучше (see here фи):

Select Case GetJobCountry(nJobAd_ID) 
    Case "CA", "US": 
    nCountryID = 2 
    blnCanadaJob = True 

    Case Else: 
    blnCanadaJob = False 

End Select 

Вы можете установить опции переменные, как blnCanadaJob там легко, и это более читаемо.

1

Вы можете упростить это немного:

if GetJobCountry(nJobAd_ID) = "US" then 

%> 
<tr> 
<td width='30%' class='StandardLight' style="background-color:#dddddd" 
    valign='middle' align='right'> 
<b>For replacement positions enter the following information for previous 
    incumbent</b> 
<b>Name:</b><span class="Required">nbsp;*</span>&nbsp;<input type="text" 
    name="txtName" class="StdFieldName" value ="<%=strName %>" size="50" maxlength = 
    "50" /><br> 
</td> 
</tr> 
%> 
end if 
+0

Итак, если мне нужно подавить раздел для работы в США и Канаде, будет ли это GetJobCountry (nJobAd_ID) <> "US или GetJobCountry (nJobAd_ID) <>" CA then – SidC

+0

Конечно, но вы можете захотеть присвоить это DB для переменной, чтобы сократить код. –

Смежные вопросы