标签: asp-classic

ASP到ASP.NET助手函数

我正在考虑将网站从经典ASP转换为ASP.NET.我正在考虑采用敏捷风格方法并尽快提供可交付成果,因此我正在考虑逐行转换并创建"坏"ASP.NET并将其全部放在第1阶段的ASPX文件中并获取工作.我认为,这将是最快和最安全的(即保留相同的功能).下一阶段是将代码拆分为代码隐藏和多层.

我打算用ASPX文件中的C#替换ASP文件中的VBScript.

所以除了关于我正在计划做什么(我欢迎)的一般性评论之外,我所遇到的具体问题是:是否有任何帮助函数将VBScript函数从ASP包装到C#等效的某人已经完成了?

所以我一直在寻找一个包含如下包装器的C#文件(库):

string Mid(string txt,int start,int length)
{
  return txt.SubString(start, length); // or is it start - 1?
}
double Abs(double num)
{
  return Math.Abs(num);
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net vbscript asp-classic

1
推荐指数
1
解决办法
918
查看次数

如何在本地(在我的开发PC上)运行.ASP(ASP Classic)页面进行测试等?

我正在研究一些旧的.asp页面.我主要做VB开发,所以我是.ASP的新手.

如何在本地运行这些页面以进行测试?

我正在运行Windows XP Home SP2.

我猜我需要安装本地服务器等.

windows asp-classic

1
推荐指数
1
解决办法
3048
查看次数

关键字'SELECT'附近的语法不正确

我有一个经典ASP页面,允许用户搜索属性和结果页面,然后通过电子邮件发送具有匹配属性的属性代理,让他们知道有租户对其属性感兴趣.

某些代理商可能拥有超过1个属性,在这种情况下,代理商只需要收到1封电子邮件,而不是他们拥有的每个属性的电子邮件.

我在Management Studio中测试了以下查询,它返回了正确的结果;

SELECT DISTINCT CustomerEmail
FROM         (SELECT     ContentID
                       FROM          (SELECT     ContentID
                                               FROM          VWTenantPropertiesResults
                                               WHERE      (ContentStreet = '')
                                               UNION ALL
                                               SELECT     ContentID
                                               FROM         VWTenantPropertiesResults AS VWTenantPropertiesResults_2
                                               WHERE     (ContentTown = 'Hull')
                                               UNION ALL
                                               SELECT     ContentID
                                               FROM         VWTenantPropertiesResults AS VWTenantPropertiesResults_1
                                               WHERE     (ContentPostCode = 'HU7')) AS qi
                       GROUP BY ContentID
                       HAVING      (COUNT(*) >= 2)) AS q INNER JOIN
                      VWTenantPropertiesResults AS r ON r.ContentID = q.ContentID
WHERE     (r.ContentBedRooms BETWEEN 1 AND 4) AND (r.ContentPrice BETWEEN 50 AND 500)
Run Code Online (Sandbox Code Playgroud)

但是,当我在页面中运行以下代码时,它会在关键字"SELECT"附近返回错误语法错误;

rsemailagents.Source = "SELECT DISTINCT …
Run Code Online (Sandbox Code Playgroud)

sql asp-classic

1
推荐指数
1
解决办法
5034
查看次数

ASP页面没有收到POST参数

我正在使用Classic ASP编写一个小应用程序.我有一个页面,其中有一个表单,发布到第二页.表单的POST包括文件上传,因此需要POST方法.

第二页虽然没有看到第一页发送的任何字段.调用其中一个Request("param")Request.Form("param")两个只返回空字符串.

如果我将我的表单上的方法从POST切换到GET(没有其他更改),那么接收页面正确地选择了值,当然我无法进行文件上传,这是此应用程序的关键部分.

在GET模式下,参数都按预期放在URL上.在POST模式下,我启动了FireBug,并检查了我的请求的POST数据.原始表单IS发送请求中的所有值(它们按预期显示在FireBug中),因此问题似乎出现在接收页面的末尾.

表单是通过代码提交的,从带有的按钮调用 onclick="javascript:saveMinutes();"

我的表单和saveMinutes()函数声明如下:

<form id="frmMinutes" enctype="multipart/form-data" method="post" action="saveminutes.asp">
<table id="tblMinutes" style="width: 100%;">
    <tr>
        <td>
            <select id="selYear" name="year" size="13" onclick="javascript:setDatePickerRange(); checkForMinutes();">
                <%For lc = Year(Now) To getMinutesFirstYear() Step - 1%>
                    <option value="<%=lc%>" <%If lc = Year(Now) Then%>selected="selected"<%End If%>><%=lc%></option>
                <%Next%>
            </select>
        </td>
        <td>
            <select id="selMonth" name="month" size="13" onclick="javascript:setDatePickerRange(); checkForMinutes();">
                <%For lc = 1 To 12%>
                    <option value="<%=lc%>" <%If lc = Month(Now) Then%>selected="selected"<%End If%>"><%=MonthName(lc)%></option>
                <%Next%>
            </select>
        </td>
        <td style="width: 100%; …
Run Code Online (Sandbox Code Playgroud)

forms parameters post input asp-classic

1
推荐指数
1
解决办法
1925
查看次数

使用Classic ASP将变量传递给存储过程

好的,所以我试图将一些字符串变量从经典的ASP页面传递到MSSQL2000 db:

strSQL = "exec UpdateEvent " & xID & ",'" & xEventID & "'," & xEventDisplayName & "," & xEventType & "," & xEventStatus & "," & xStartDate & "," & xEndDate & "," & xSurveyTemplateID & ""
Run Code Online (Sandbox Code Playgroud)

然而我最终得到了错误(包括写出strSQL内容):

exec UpdateEvent 1,'1-44KTDL',,,,,,

Microsoft OLE DB Provider for SQL Server错误'80040e14'

第1行:','附近的语法不正确.

/eventedit.asp,第225行

现在我不确定是否是EventID变量中的破折号导致我的问题(或者当有数据时,为什么所有其他变量都会出现空值...).我已经尝试了许多引号和抽搐的组合来安抚语法解释器,但无济于事.我究竟做错了什么?有没有更好的方法来执行这个简单的存储过程调用?

sql stored-procedures asp-classic

1
推荐指数
1
解决办法
4867
查看次数

使用经典ASP防止SQL Server TEXT字段中的SQL注入

我在ASP中有代码,它使用参数化查询将值放入SQL Server的Text字段中.我想知道参数化是否足够,或者我是否必须在字段中搜索潜在的命令,用双刻度替换单个刻度等.文本字段是文章,因此它们可能包含任意数量的单词或字符.

我安全吗?

sSQL="[usp_SaveDocumentGradeCriteria]"
            Set dbCommand = Server.CreateObject("ADODB.Command")    
            Set dbCommand.ActiveConnection = oConn  
            dbCommand.CommandType = adCmdStoredProc 
            dbCommand.Commandtext=sSQL  
            dbCommand.Parameters.Append (dbCommand.CreateParameter("@CriteriaXML", adLongVarChar, adParamInput, len(saveXML), saveXML))
            dbCommand.Parameters.Append (dbCommand.CreateParameter("@Comments", adLongVarChar, adParamInput, len(commentText), commentText))    
            dbCommand.Parameters.Append (dbCommand.CreateParameter("@documentGUID", adGuid, adParamInput, 0, documentGUID)) 
            dbCommand.Parameters.Append (dbCommand.CreateParameter("@graderFYCUserID", adInteger, adParamInput, 0, fycuserid))  
            dbCommand.Parameters.Append (dbCommand.CreateParameter("@graderSequence", adInteger, adParamInput, 0, graderSequence))  
            if trim(grade)<>"" then
                dbCommand.Parameters.Append (dbCommand.CreateParameter("@grade", adInteger, adParamInput, 0, grade))    
            end if


            set oRST=dbCommand.Execute
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-injection asp-classic

1
推荐指数
1
解决办法
1306
查看次数

什么是支持ASP突出显示和ZenCoding的优秀免费IDE?

我是Eclipse的忠实粉丝.它支持ZenCoding,没问题.但是只有一个支持ASP突出显示的插件,它在查找匹配对方面做得非常蠢,这是一个非常基本的功能.那么,有没有其他好的免费(或廉价)IDE有一个ZenCoding插件,并与ASP一起使用?(黑暗的主题和性感的UI是一个加号!)

ide asp-classic emmet

1
推荐指数
1
解决办法
2962
查看次数

VBScript(经典ASP)性能 - 将字符串长度存储在循环中的临时变量中

我想知道如果我在使用循环列表10,000循环而不是在每个循环中计算它时将字符串长度存储在临时变量中,性能是否更好?

计算字符串长度的代码示例:

'--
Dim I
Dim str : str = "Lets say this string length is around 50,000"
'--
For I=0 To 100000
    Response.Write Len(str) & "<br>"
Next
Run Code Online (Sandbox Code Playgroud)

使用临时变量的代码示例:

'--
Dim I
Dim str : str = "Lets say this string length is around 50,000"
Dim temp : temp = Len(str)
'--
For I=0 To 100000
    Response.Write temp & "<br>"
Next
Run Code Online (Sandbox Code Playgroud)

你觉得哪个更好?

谢谢!

vbscript performance string-length asp-classic

1
推荐指数
1
解决办法
2698
查看次数

经典ASP - 从外部服务器连接到数据库

我们目前正在寻求迁移服务器,但是我们暂时需要允许实时网站在新服务器上使用外部数据库.

目前用于连接本地服务器的字符串如下所示:

Provider=SQLNCLI10;Password=Rave123;Persist Security Info=True;User ID=Usr123;Initial Catalog=sqldb12;Data Source=.\SQLEXPRESS
Run Code Online (Sandbox Code Playgroud)

但是我需要修改它以使用IP地址来指示它使用外部服务器.

我尝试了许多不同的解决方案,但都无法解决,请您根据系统告诉我如何执行此操作.

该系统是IIS 7,它是带有SQL Server Express Edition的Windows Server 2008.

请使用我上面的详细信息进行示例查询,这对我来说很有意义:)

sql-server iis-7 external ip-address asp-classic

1
推荐指数
1
解决办法
589
查看次数

ASP动态多维数组

ASP新手。尝试从表单创建多维数组。在PHP中这就像

<?php 
    $myArray = array();
    for($i = 0 $i< $myArray.size() $i++){ 

    myArray[$i] = array(field1=>"var1",field2=>var2);
    }
?> //syntax not exactly correct but you get the picture
Run Code Online (Sandbox Code Playgroud)

我必须在ASP中做类似的事情,但是我似乎可以弄清楚,尽管它应该很简单

我需要从表单的行中获取完成的值,然后将值放入数组中

Function getResults(totalRows)

dim results() 'my array for results
for i = 0 to totalRows - 1 

color = request.form("color"&i)
width = request.form("width"&i)
height = request.form("height"&i)


results(i)("color") = color
results(i)("height") = height
results(i)("width") =  width

response.write("color is " &results(i)("color")
response.write("color is " &results(i)("height")
response.write("color is " &results(i)("width")
NEXT
Run Code Online (Sandbox Code Playgroud)

结束功能

我需要返回此数组以使用它,在此先感谢,我尝试过在线查找,但似乎无法解决。

multidimensional-array asp-classic

1
推荐指数
1
解决办法
9672
查看次数