Скрыть гиперссылку, если поле имеет значение NULL - классический ASP - PullRequest
1 голос
/ 22 октября 2011

Я вернулся в классический ASP и хочу скрыть гиперссылку с нулевым значением.Эта гиперссылка содержит идентификатор для просмотра сведений.Если сведения (поле: выделение) пустые, скрыть гиперссылку.Я хочу, чтобы гиперссылки появлялись только при наличии выделения.

У меня есть следующий код, но я не знаю, как это интегрировать.Я только что закончил это в ASP.NET, но я не уверен, как получить это в Classic ASP.Буду признателен за любые предложения:

               if objRS.recordcount = 0 then
                  response.write "<p>Check back soon.</p>"
              else

               do while not objRS.eof

                ' Display Table Data
                  response.write "<td><a href='highlights.asp?ID=" & objRS.fields("ID") & "'>Read Highlights</a></td>"

                ' Loop it
                    objRS.movenext
                  loop
                    response.write "</table>"   

              end if

Ранее в .NET я делал следующее:

<asp:PlaceHolder ID="PlaceHolder2" runat="server" Visible='<%# IIf((Eval("Highlights")).ToString().Length > 0, "true", "false") %>'>
    <h3>Read Highlights</h3>
    <asp:Label ID="highlights" runat="server" Text='<%# Bind("Highlights") %>'></asp:Label>
</asp:PlaceHolder>

Не уверен, что я на правильном или неправильном путиздесь, ну, это не сработало ... говорит, что объект требуется ...

If objRS.fields("Highlights") Is Not Null Then
   response.write "<td><a href='highlights.asp?ID=" & objRS.fields("ID") & "'>Read Highlights</a></td>"
End if

Попытка это тоже:

If objRS.fields("Highlights") = NULL Then
  response.write "<td>&nbsp;</td>"
Else 
  response.write "<td><a href='highlights.asp?ID=" & objRS.fields("ID") & "'>Read Highlights</a></td>"
End if

Получил это здесь: Примечание: код неВставка с форматом, выглядит немного грязно

If Not (IsNull(objRS("Highlights"))) Then response.write "<td><a href='highlights.asp?ID=" & objRS.fields("ID") & "'>Read Highlights</a></td>" Else response.write "<td>&nbsp;</td>" End if

Ответы [ 2 ]

1 голос
/ 22 октября 2011

Нулевой оператор в VBScript называется Nothing

If objRS.fields("Highlights") is Nothing or  Then
  response.write "<td>&nbsp;</td>"
Else 
  response.write "<td><a href='highlights.asp?ID=" & objRS.fields("ID") & "'>Read Highlights</a></td>"
End if

Редактировать: , но если вам нужно проверить, является ли поле пустым или пустым, эта функция всегда под рукой:

function IsEmpty(f)
    IsEmpty = IsNull(f) or trim(f) = ""
end function

Итак, ваш код будет:

If IsEmpty(objRS.fields("Highlights")) Then
  response.write "<td>&nbsp;</td>"
Else 
  response.write "<td><a href='highlights.asp?ID=" & objRS.fields("ID") & "'>Read Highlights</a></td>"
End if
0 голосов
/ 24 октября 2011
if objRS.recordcount = 0 then
                  response.write "<p>Check back soon.</p>"
              else

               do while not objRS.eof

                ' Display Table Data
IF NOT ISNULL(objRS.fields("Highlights")) AND objRS.fields("Highlights") <> "" THEN
                  response.write "<td><a href='highlights.asp?ID=" & objRS.fields("ID") & "'>Read Highlights</a></td>"
END IF

                ' Loop it
                    objRS.movenext
                  loop
                    response.write "</table>"   

              end if
...