| Author: abhay 30 Aug 2008 | Member Level: Gold | Rating: Points: 6 |
i have done it before
javascript function:
function inf(val) { if(chkuser=="") { alert("please Register or login"); return false; } else { val = val.replace("btn","lblPk"); var pk = document.getElementById(val).innerText ; window.open('PREVIEW.aspx?Val='+pk);//send primary key as querystring to another page } }
datagrid:
<asp:datagrid id="DGrid_article" runat="server" cellspacing="0" cellpadding="0" allowsorting="True" allowpaging="false" autogeneratecolumns="False" datakeyfield="ARTICLE_ID" showheader="false" width="500" AlternatingItemStyle-ForeColor="#6600ff"> <columns> <asp:TemplateColumn> <ItemTemplate> <table style="display:none"> <tr> <td> <label runat="server" id="lblPk"> <%# DataBinder.Eval(Container.DataItem, "article_id")%> </label> </td> </tr> </table> </ItemTemplate> </asp:TemplateColumn> <asp:buttoncolumn visible="false" commandname="Select"></asp:buttoncolumn> <asp:boundcolumn datafield="HEADING" itemstyle-width="160"></asp:boundcolumn> <asp:boundcolumn datafield="NAME" itemstyle-width="120"></asp:boundcolumn> <asp:boundcolumn datafield="UPLOAD_TIME" itemstyle-width="160"></asp:boundcolumn> <asp:TemplateColumn> <ItemTemplate> <input id="btn" type="button" onclick="inf(this.id);" value="SHOW" runat="server" NAME="btn" style="COLOR: #0000ff; BACKGROUND-COLOR: bisque"> </ItemTemplate> </asp:TemplateColumn> </columns> </asp:datagrid></div>
in priview.aspx:
if(Request.QueryString["Val"] != null) { int val =Convert.ToInt32( Request.QueryString["Val"].ToString()); string previewart = "select ARTICLEPATH from USER_ARTICLE where ARTICLE_ID = '"+val+"'"; connection ob=new connection(); DataTable dt= ob.connectiondatatable(previewart); if(dt.Rows.Count>0) { string str=dt.Rows[0]["ARTICLEPATH"].ToString(); connection ob6=new connection(); string extens = ob6.extension(str); Response.Expires = 0; Response.ClearContent(); Response.ClearHeaders(); Response.Clear(); switch (extens) { case ".pdf": Response.ContentType = "Application/pdf"; Response.AddHeader("Content-Type", "application/pdf"); //this.Response.AppendHeader("content-Disposition","attachment;filename=\""+ str +"\"");
break; case ".doc": Response.ContentType = "Application/msword"; //Response.AddHeader("Content-Type", "application/msword"); this.Response.AppendHeader("content-Disposition","attachment;filename=\""+ str +"\""); break; case ".odt": Response.ContentType = "Application/msword"; this.Response.AppendHeader("content-Disposition","attachment;filename=\""+ str +"\""); break; } class :connection
public SqlConnection conn; public connection() { // // TODO: Add constructor logic here
string constr= ConfigurationSettings.AppSettings["connectionstring"]; conn =new SqlConnection(constr); //SqlCommand cmd; // } public DataTable connectiondatatable(string str) { conn.Open(); SqlDataAdapter da=new SqlDataAdapter(); da.SelectCommand=new SqlCommand(str,conn); da.SelectCommand.ExecuteNonQuery(); DataSet ds=new DataSet(); da.Fill(ds); conn.Close(); return ds.Tables[0]; }
public string extension(string filename) { int m = filename.IndexOf(".",0); filename=filename.Substring(m+1); filename = "."+filename; if(filename==".doc") { return filename; } if(filename==".pdf") { return filename; } if(filename == ".odt") { return filename; } return null; }
webconfig:
<appSettings> <add key="connectionstring" value = "user id=sa;pwd=xxx;server=xxx;database=knowledge_db;"></add> </ppSettings>
|