1

奇怪的问题。我需要使用一个带有 ID 的 JavaScript 数组,以使用 ID 作为行 ID 从数据库中获取附加信息。

然后我需要使用这些附加信息并使用 Ajax 将其发送到另一个文件 (aspx),然后该文件将使用这些信息来旋转图像。

除非我可以在同一个文件中使用 ASP Classic 和 ASP.NET (C#)?- 或者我可以使用或多或少相同的 ASP 代码来访问我的数据库吗?

旋转脚本

<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Web" %>

<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
    //string url = Request.QueryString["url"];
    string url = @"C:\inetpub\wwwroot\testing\image.jpg";
    string rotate_dir = Request.QueryString["dir"];

    //create an image object from the image in that path
    System.Drawing.Image img = System.Drawing.Image.FromFile(url);

    //Rotate the image in memory
    if (rotate_dir == "clockwise")
    {
        //Rotate clockwise
        img.RotateFlip(RotateFlipType.Rotate90FlipNone);
    } else if (rotate_dir == "anticlockwise")
    {
        //Rotate anti-clockwise
        img.RotateFlip(RotateFlipType.Rotate90FlipXY);
    }

    //Delete the file so the new image can be saved
    System.IO.File.Delete(url);

    //save the image to the file
    img.Save(url);

    //release image file
    img.Dispose();
}
</script>

我用什么来访问我的数据库

'Create connection and load users database
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.ACE.OLEDB.12.0"
conn.Open Server.MapPath("/nightclub_photography/data/database/jamsnaps.mdb")

希望你明白我想要做什么?

4

2 回答 2

1

正如您应该知道的,您可以在 asp-classic 中自由使用 Javascript(以及 ajax)。

这意味着您可以轻松地执行以下操作;

set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
conn.open Server.MapPath("foobar path") + ", Microsoft.ACE.OLEDB.12.0"
%><script type="text/javascript">
rotationArray = Array(id_Array.length);
for(int i = 0; i < id_Array.Length; i++
{
  <% rs.open("SELECT rotation FROM images WHERE id="+ id_Array[i])%>
  rotationArray[i] = <%= rs("rotation") %>;
  <%rs.close() %>
}

//send rotationArray via ajax

但总的来说,我建议您改用用于 asp.NET 的数据库工具。然后你只需将你的 JS-IDArray 发送到 aspx 文件并在那里进行处理。

供参考,您可以在此处查看

于 2013-08-02T21:57:01.967 回答
1

您可以同时使用 C#.Net 和 ASP。这不是一个很好的方法。我的理解是你必须先创建 C#project 然后添加任何 asp 页面。这将允许您从 asp 应用程序中调用您的 C# 页面。

我没有亲自做过其中之一,但我已经看到它确实做到了,所以我知道它在技术上是可行的。

于 2013-08-02T22:37:25.767 回答