我正在尝试清理一些旧代码。如何使这段代码更简洁?或者有更好的方法来做到这一点。这是一个古老的经典.asp网站,从文件中调用了2个域。
<% If (GetDomainType() = "CTH") Then %>
<meta HTTP-EQUIV="REFRESH" content="7; url=http://www.w.com">
<% ElseIf (GetDomainType() = "CA") Then %>
<meta HTTP-EQUIV="REFRESH" content="7; url=http://www.e.com">
<% End If %>
<!-- #INCLUDE file="mobile_sitefiles.asp"-->
<% If (GetDomainType() = "WRT") Then %>
<title>WRT</title>
<% ElseIf (GetDomainType() = "EL") Then %>
<title>EL</title>
<% ElseIf (GetDomainType() = "CA") Then %>
<title>Curb APeel</title>
<% Else %>
<title>Call</title>
<% End If %>
我试过了:
<% If (GetDomainType() = "CTH") Then
<meta HTTP-EQUIV="REFRESH" content="7; url=http://www.w.com">
ElseIf (GetDomainType() = "CA") Then
<meta HTTP-EQUIV="REFRESH" content="7; url=http://www.e.com">
End If %>
<!-- #INCLUDE file="mobile_sitefiles.asp"-->
<% If (GetDomainType() = "WRT") Then
<title>WRT</title>
ElseIf (GetDomainType() = "EL") Then
<title>EL</title>
ElseIf (GetDomainType() = "CA") Then
<title>Curb APeel</title>
Else
<title>Call</title>
End If %>
但是它只是打破了页面。
答案 0 :(得分:3)
正如Lankymart评论的那样,你不能将html和asp混合在一起。我不确定你的意思&#34;清理&#34;或者&#34;简洁&#34;,但如果你真的,真的想浪费你的时间重构工作代码,我建议有两件事。
一,我不知道GetDomainType
正在做什么,但无论如何,似乎没有必要再打五次。相反,调用它一次,将结果分配给变量,并对该变量进行分支。
二,它通常稍微更具可读性(而且效率更高一点),以减少你在asp和html之间切换的次数。
结合这两件事,你会得到像
这样的东西<%
dim DomainType, url, title
DomainType = GetDomainType
If DomainType = "CTH" Then
url = "www.w.com"
ElseIf DomainType = "CA" Then
url = "www.e.com"
Else
url = ""
End If
Select Case DomainType
Case "WRT" title = "WRT"
Case "EL" title = "EL"
Case "CA" title = "Curb APeel"
Case Else title = "Call"
End Select
%>
<%If url <> "" Then%>
<meta HTTP-EQUIV="REFRESH" content="7; url=http://<%=url%>">
<% End If %>
<!-- #INCLUDE file="mobile_sitefiles.asp"-->
<title><%=title%></title>