<asp:GridView ID="gvList" runat="server" SkinID="ArticalPages" OnRowDataBound="gvList_RowDataBound"
AutoGenerateColumns="False" OnPageIndexChanging="gvList_PageIndexChanging" OnRowCreated="gvList_RowCreated"
OnSorting="gvList_Sorting" >
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="Level1ID" DataNavigateUrlFormatString="~/Displays/Level1.aspx?ID={0}"
DataTextField="Level1Name" HeaderImageUrl="~/images/fenlei.gif" SortExpression="Level1Name">
<ItemStyle CssClass="DefaultLink" HorizontalAlign="Left" />
</asp:HyperLinkField>
<asp:HyperLinkField DataNavigateUrlFields="Level2ID" DataNavigateUrlFormatString="~/Displays/Level2.aspx?ID={0}"
DataTextField="Level2Name" HeaderImageUrl="~/images/zifenlei.gif" SortExpression="Level2Name">
<ItemStyle CssClass="DefaultLink" HorizontalAlign="Left" />
</asp:HyperLinkField>
<asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="~/Displays/Articals.aspx?ID={0}"
DataTextField="Title" HeaderImageUrl="~/images/biaoti.gif" SortExpression="Title">
<ItemStyle CssClass="DefaultLink" HorizontalAlign="Left" />
</asp:HyperLinkField>
<asp:BoundField DataField="hits" HeaderImageUrl="~/images/dianji.gif" SortExpression="hits">
<ItemStyle Width="30px" />
</asp:BoundField>
</Columns>
<HeaderStyle Height="0px" />
</asp:GridView>这是*.ascx文件, <asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="~/Displays/Articals.aspx?ID={0}"
DataTextField="Title" HeaderImageUrl="~/images/biaoti.gif" SortExpression="Title">这用数据源TITLE做连接地址,现在要计算每次点击这个TITLE一次,相应的<asp:BoundField DataField="hits" HeaderImageUrl="~/images/dianji.gif" SortExpression="hits">
<ItemStyle Width="30px" />
</asp:BoundField>
在数据库中的hits值就增加一,也就是计数。。然后在页面显示出HITS值。请高手帮忙。谢谢!
AutoGenerateColumns="False" OnPageIndexChanging="gvList_PageIndexChanging" OnRowCreated="gvList_RowCreated"
OnSorting="gvList_Sorting" >
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="Level1ID" DataNavigateUrlFormatString="~/Displays/Level1.aspx?ID={0}"
DataTextField="Level1Name" HeaderImageUrl="~/images/fenlei.gif" SortExpression="Level1Name">
<ItemStyle CssClass="DefaultLink" HorizontalAlign="Left" />
</asp:HyperLinkField>
<asp:HyperLinkField DataNavigateUrlFields="Level2ID" DataNavigateUrlFormatString="~/Displays/Level2.aspx?ID={0}"
DataTextField="Level2Name" HeaderImageUrl="~/images/zifenlei.gif" SortExpression="Level2Name">
<ItemStyle CssClass="DefaultLink" HorizontalAlign="Left" />
</asp:HyperLinkField>
<asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="~/Displays/Articals.aspx?ID={0}"
DataTextField="Title" HeaderImageUrl="~/images/biaoti.gif" SortExpression="Title">
<ItemStyle CssClass="DefaultLink" HorizontalAlign="Left" />
</asp:HyperLinkField>
<asp:BoundField DataField="hits" HeaderImageUrl="~/images/dianji.gif" SortExpression="hits">
<ItemStyle Width="30px" />
</asp:BoundField>
</Columns>
<HeaderStyle Height="0px" />
</asp:GridView>这是*.ascx文件, <asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="~/Displays/Articals.aspx?ID={0}"
DataTextField="Title" HeaderImageUrl="~/images/biaoti.gif" SortExpression="Title">这用数据源TITLE做连接地址,现在要计算每次点击这个TITLE一次,相应的<asp:BoundField DataField="hits" HeaderImageUrl="~/images/dianji.gif" SortExpression="hits">
<ItemStyle Width="30px" />
</asp:BoundField>
在数据库中的hits值就增加一,也就是计数。。然后在页面显示出HITS值。请高手帮忙。谢谢!
当点击了就向数据库中把Hits的值加1,要把刚加1后的值从数据库中读取出来,把GridView绑定数据的方法不要写在Page_Load里面,写在另一个方法中。Page_Load时调用这个绑定GridView数据的方法。点击title后也调用一下绑定GridView数据的方法.......
使用TemplateField试试.aspx:
-------
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="hl" runat="server" OnClick="UpdateHits" OnClientClick="window.open('<%# string.Format("/Displays/Articals.aspx?ID={0}", Eval("ID").ToString() %>')" CommandArgument='<%# Eval("Title") %>' Text='<%# Eval("ID") %>' />
</ItemTemplate>
</asp:TemplateField>.cs
-----
protected void UpdateHits(object sender, EventArgs e)
{
(LinkButton)lb = (LinkButton)Sender;
string id = lb.CommandArgument.ToString();
//...
//根据id更新数据库中的hits
//... //重新绑定数据
}