链接点击的ASP SQL更新页面视图

时间:2014-05-24 19:16:17

标签: c# asp.net sql search pageviews

我有一个网站,目前有一个写的搜索表格是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
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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,在页面加载功能上执行更新到数据库的处理,然后重定向回index.html。