c# - How to add Like/Unlike functionality in GridView? -



c# - How to add Like/Unlike functionality in GridView? -

if come in values manually in database can view on wall not know how insert value programatically on clicking 'like'. query fired on clicking 'like' (which in every row below msg) "insert tbl_like (scrapid,fromid,likestatus) values(a*,sessionuserid,1)";

a* = must scrapid of particular row in clicked.

database table: scrap_table: scrapid | fromid | toid | msg

like_table:

likeid | scrapid | fromid | likestatus

source code:

<asp:gridview id="gridviewuserscraps" itemstyle-verticalalign="top" autogeneratecolumns="false" gridlines="none" width="100%" showheader="false" runat="server" alternatingrowstyle-backcolor="#a5a5a5" cellpadding="4" forecolor="#333333" datakeynames="scrapid" onitemcommand="commandlinkclicked"> <columns> <asp:templatefield> <itemtemplate> <table align="left" cellpadding="1" cellspacing="2"> <tr> <td> <a href='<%#getuserhref(container.dataitem)%>'> <img align="middle" src='<%#getsrc(container.dataitem)%>' border="0" width="50px" /></a> </td> <td> &nbsp;</td> </tr> </table> <div align="justify"> <%#databinder.eval(container.dataitem, "message")%> <br /> <br /> </div> <span class="smallblacktext">posted on: &nbsp;</span> <asp:label id="lblsenddate" runat="server" text='<%#databinder.eval(container.dataitem,"senddate")%>'></asp:label> </span> <br /> <%-- <asp:linkbutton id="lnklike" runat="server" commandargument="<%# ((gridviewrow) container).rowindex %>" commandname="likecmd">like</asp:linkbutton> &nbsp;&nbsp;&nbsp; <asp:linkbutton id="lnkunlike" runat="server">unlike</asp:linkbutton>--%> <asp:linkbutton id="lnklike" runat="server" commandname="like" commandargument='<%# eval("scrapid")%>'>like</asp:linkbutton> <asp:linkbutton id="lnkunlike" runat="server" commandname="unlike" commandargument='<%# eval("scrapid")%>'>unlike</asp:linkbutton> &nbsp;&nbsp; <asp:label id="lbllike" runat="server" text="likes:"></asp:label> <%-- <asp:label id="lbllikecount" runat="server" text="0"></asp:label>--%> <asp:label id="label1" runat="server" text='<%# controls_getuserscraps.abc((int)eval("scrapid")) %>' /> <%--<asp:label id="label1" runat="server" text='<%# webpagename.staticmethodname((int)eval("scrapid")) %>' />--%> </itemtemplate> </asp:templatefield> </columns> <rowstyle backcolor="#eff3fb" /> <footerstyle backcolor="#507cd1" font-bold="true" forecolor="white" /> <pagerstyle backcolor="#2461bf" forecolor="white" horizontalalign="center" /> <selectedrowstyle backcolor="#d1ddf1" font-bold="true" forecolor="#333333" /> <headerstyle backcolor="#507cd1" font-bold="true" forecolor="white" /> <editrowstyle backcolor="#2461bf" /> <alternatingrowstyle backcolor="white" /> </asp:gridview>

code behind:

databaseclass dbclass = new databaseclass(); public datatable dt; protected void page_load(object sender, eventargs e) { if (!page.ispostback) { getuserscraps(int.parse(request.querystring["id"].tostring())); } } public void getuserscraps(int id) { string getuserscraps = "select u.id userid,u.firstname,u.imagename,s.fromid,s.toid,s.message,s.senddate,s.id scrapid [user] u, scrap s u.id=s.fromid , s.toid='" + request.querystring["id"].tostring() + "'"; //string getlikes = "select count(*) tbl_like inner bring together scrap on tbl_like.scrapid=scrap.id tbl_like.likestatus=1 , tbl_like.scrapid='"+<%#databinder.eval(container.dataitem,"scrapid")%>+"'"; // <%#databinder.eval(container.dataitem,"scrapid")%> dt = dbclass.connectdatabasereturndt(getuserscraps); if (dt.rows.count > 0) { gridviewuserscraps.datasource = dt; gridviewuserscraps.databind(); } } public string getuserhref(object surl) { datarowview drview = (datarowview)surl; string id = drview["userid"].tostring(); homecoming resolveurl("~/userdetails.aspx?id=" + id); } public string getsrc(object imgsrc) { datarowview drview = (datarowview)imgsrc; string imagename = drview["imagename"].tostring(); if (imagename == "noimage") { homecoming resolveurl(@"~/site_images/image_missing.jpg"); } else { homecoming resolveurl("~/userimage/" + drview["imagename"].tostring()); } } public static int abc(int scrpid) { string getlikes = "select count(*) tbl_like inner bring together scrap on tbl_like.scrapid=scrap.id tbl_like.likestatus=1 , tbl_like.scrapid='"+scrpid+"'"; dboperation dbo = new dboperation(); int = dbo.getlikesmethod(getlikes); homecoming a; } protected void commandlinkclicked(object sender, datagridcommandeventargs e) { var scrapid = int32.parse(e.commandargument.tostring()); switch (e.commandname) { case "like": var con = new sqlconnection(system.configuration.configurationmanager.connectionstrings["constr"].connectionstring); //your connection string var cmd = new sqlcommand("insert tbl_like (scrapid,fromid,likestatus) values(@scrapid,@sessionuser,1)"); cmd.parameters.addwithvalue("@scrapid", scrapid); cmd.parameters.addwithvalue("@sessionuser", session["userid"]); cmd.connection = con; con.open(); cmd.executenonquery(); break; case "unlike": //do stuff break; } } }

you have add together onitemcommand event grid handle clicks on link buttons. both of link buttons must have commandname , commandargument set.

change yours html follows:

<asp:gridview .... onrowcommand="gridviewrowcommand"> <asp:linkbutton id="lnklike" runat="server" commandname="like" commandargument='<%# eval("scrapid")%>'>like</asp:linkbutton> <asp:linkbutton id="lnkunlike" runat="server" commandname="unlike" commandargument='<%# eval("scrapid")%>'>unlike</asp:linkbutton> </asp:gridview>

and event in code behind:

protected void gridviewrowcommand(object sender, gridviewcommandeventargs e) { var scrapid = int32.parse(e.commandargument.tostring()); switch (e.commandname) { case "like" : using (var con = new sqlconnection("connection_string")) //your connection string { var cmd = new sqlcommand("insert tbl_like (scrapid,fromid,likestatus) values(@scrapid,@sessionuser,1)"); cmd.parameters.addwithvalue("@scrapid", scrapid); cmd.parameters.addwithvalue("@sessionuser", session[user]); cmd.connection = con; con.open(); cmd.executenonquery(); } break; case "unlike" : //do stuff break; } }

c# asp.net sql-server-2008

Comments

Popular posts from this blog

javascript - mongodb won't find my schema method in nested container -

Hibernate criteria by a list of natural ids -

ios - Lagging ScrollView with UIWebview inside -