【问题标题】:ASP SQL Update Page Views on Link Clicks链接点击时的 ASP SQL 更新页面视图
【发布时间】:2014-05-24 19:16:17
【问题描述】:

我有一个网站,目前有一个用 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
}

我们将不胜感激。

【问题讨论】:

  • 刚刚结束了试图解决这个问题的第二天。寻找任何可能有帮助的方法。

标签: c# asp.net sql search pageviews


【解决方案1】:

如果您可以将 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=&lt;%# DataSet1.FieldValue("address", Container) %&gt;移动到newpage.aspx,在pageload函数上做更新到数据库的处理,然后重定向回index .html.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    相关资源
    最近更新 更多