简明的.asp代码

时间:2016-03-22 18:38:44

标签: vbscript asp-classic refactoring

我正在尝试清理一些旧代码。如何使这段代码更简洁?或者有更好的方法来做到这一点。这是一个古老的经典.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 %>

但是它只是打破了页面。

1 个答案:

答案 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>