1

我有一个网站,目前的搜索表单是 ASP。搜索调用我的 SQL 数据库并将结果放入一个表格中,其中包含每个搜索结果的 HTML 页面的可点击图像。目前我正在按我的 SQL 表中的字段对结果进行排序。每个搜索结果的代码如下:

<a href="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html"><img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg" width="400" border=0/></a>

我想要做的是,一旦单击链接,它就会向 SQL 数据库发送更新,并为查看次数增加 +1。通过这种方式,我可以将排序更改为查看次数,并在搜索结果顶部获取最受欢迎的链接。SQL 数据库的主键是“地址”字段,如果这有助于增加视图计数。

对此的任何帮助将不胜感激,因为我似乎处于编程知识的极限。

-- 更新#1 --

所以我正在努力解决这个问题。我可以像这样将用于更新 SQL 数据库的代码添加到链接中吗?它似乎不起作用。

<a href="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html" onclick="UPDATE dbo.main SET pageview=pageview+1 WHERE address=<%# DataSet1.FieldValue("address", Container) %>"><img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg" width="400" border=0/></a>

我不确定是否必须以另一种方式称呼它。我在尝试。

-- 更新#2 --

所以我尝试再次更改代码以解决这个问题。所以现在我试图通过一个函数传递它,因为我认为它不会在超链接中工作。所以这就是我所做的:

<a
    href="model-homes/<%# DataSet1.FieldValue("address", Container) %>/index.html"
    onclick="UpdateDB(<%# DataSet1.FieldValue("address", Container) %>)"
>
<img
    src="model-homes/<%# DataSet1.FieldValue("address", Container) %>/plan-1st-floor.jpg"
    width="400"
    border=0
/>
</a>

这是功能:

function UpdateDb(@address)
{
    SELECT pageview FROM dbo.main WHERE address=@address
    UPDATE pageview=pageview+1  FROM dbo.main  WHERE address=@address
}

对此的任何帮助将不胜感激。

4

1 回答 1

0

如果您可以将 index.html 更改为 index.aspx 以解决此问题,您尝试的方法可能会成功:

  1. 使用查询字符串变量,但它基于 index.html 可以更改为 index.aspx 的假设:

    <a href="/model-homes/<%# DataSet1.FieldValue("address", Container) html"       
        <img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>
            /plan-1st-floor.jpg" width="400" border=0/>
    </a>
    

    在 index.html 的末尾添加查询字符串变量,如下所述:

    <a href="/model-homes/<%# DataSet1.FieldValue("address", Container)%>
        /index.aspx?name=<%# DataSet1.FieldValue("address", Container) %>"       
        <img src="/model-homes/<%# DataSet1.FieldValue("address", Container) %>
            /plan-1st-floor.jpg" width="400" border=0/>
    </a>
    
  2. 如果 index.html 无法更改为 index.aspx 则创建中间页面从 移动index.html?name=<%# DataSet1.FieldValue("address", Container) %>newpage.aspx,在 pageload 函数上进行更新到数据库的处理,然后重定向回 index.html。

于 2014-05-25T18:46:20.180 回答