private void SetThreadData(掲示板リターンデータセット rdataset) { pn.Controls.Clear(); foreach (var data in rdataset.掲示板データ) { foreach (var data2 in data) { var 投稿Ent = data2.Key; DateTime dt; if (DateTime.TryParse(投稿Ent.投稿日, out dt) == false) { dt = new DateTime(); } string html = "<table width=\"100%\" class=\"tbContribute\">" + //投稿 "<tr>" + "<td colspan=\"5\">" + "<span class=\"MainNo\">" + 投稿Ent.No + " " + "</span>" + "<span class=\"MainTitle\">" + 投稿Ent.Title + " " + "</span>" + "<span class=\"MainPersonNameHeader\">投稿者名:</span>" + "<span class=\"MainPersonName\">" + 投稿Ent.投稿者名 + " " + "</span>"; pn.Controls.Add(new LiteralControl(html)); if (投稿Ent.HomepageUrl != "http://" && 投稿Ent.HomepageUrl != "") { Image img = new Image(); img.ImageUrl = "~/Images/Icon/homepage.png"; img.Width = 15; img.Height = 15; LinkButton lb = new LinkButton(); lb.PostBackUrl = 投稿Ent.HomepageUrl; lb.Controls.Add(img); pn.Controls.Add(lb); } string html10 = " " + "<span class=\"MainDateHeader\">投稿日:</span>" + "<span class=\"MainDate\">" + dt.ToString("yyyy/MM/dd HH:mm:ss") + " " + "</span>" + "</td>" + "<td align=\"right\">"; pn.Controls.Add(new LiteralControl(html10)); string 記事No = 投稿Ent.No.Replace("No:", ""); 返信用Button b = new 返信用Button(記事No, 投稿Ent.Title); b.Text = "返信"; b.ID = "hn" + 投稿Ent.カテゴリ名 + 記事No; b.Click += new EventHandler(btn返信_Click); pn.Controls.Add(b); string 記事ColorCode = Convert文字色ToColorCode(投稿Ent.文字色); string html2 = "</td>" + "</tr>" + "<tr>" + "<td colspan=\"6\" style=\"padding:10px 0px 0px 50px;color:" + 記事ColorCode + ";\">" + 投稿Ent.記事.Replace("\n", "<br/>"); if (投稿Ent.添付ファイルlist.Count() != 0) { html2 += "<br/><br/><br/>"; } pn.Controls.Add(new LiteralControl(html2)); int counter = 1; foreach (var ls in 投稿Ent.添付ファイルlist) { ダウンロード用LinkButton lkb = new ダウンロード用LinkButton(投稿Ent.No.Replace("No:", ""), ddlスレッド選択.SelectedValue); lkb.ID = "dl" + 投稿Ent.カテゴリ名 + 記事No + counter; lkb.Click += new EventHandler(lkbDownLoad_Click); lkb.Text = ls; lkb.Style.Add(HtmlTextWriterStyle.FontSize, "12px"); pn.Controls.Add(lkb); string html3 = "<br/>"; pn.Controls.Add(new LiteralControl(html3)); counter++; } string html4 = "</td>" + "</tr>" + "<tr>" + "<td><br/></td>" + "</tr>"; // 返信があれば水平線を入れる if (1 <= data2.Value.Count()) { html4 += "<tr>" + "<td colspan=\"6\">" + "<hr />" + "</td>"; } pn.Controls.Add(new LiteralControl(html4)); foreach (var 返信ent in data2.Value) { DateTime dt2; if (DateTime.TryParse(返信ent.投稿日, out dt2) == false) { dt2 = new DateTime(); } string html5 = // 返信 "<tr >" + "<td colspan=\"6\" style=\"padding:20px 0px 0px 50px\">" + "<span class=\"SubNo\">" + 返信ent.No + " " + "</span>" + "<span class=\"SubTitle\">" + 返信ent.Title + " " + "</span>" + "<span class=\"SubPersonNameHeader\">投稿者名:</span>" + "<span class=\"SubPersonName\">" + 返信ent.投稿者名 + " " + "</span>"; pn.Controls.Add(new LiteralControl(html5)); if (返信ent.HomepageUrl != "http://" && 返信ent.HomepageUrl != "") { Image img = new Image(); img.ImageUrl = "~/Images/Icon/homepage.png"; img.Width = 15; img.Height = 15; LinkButton lb = new LinkButton(); lb.PostBackUrl = 返信ent.HomepageUrl; lb.Controls.Add(img); pn.Controls.Add(lb); } string 記事ColorCode2 = Convert文字色ToColorCode(返信ent.文字色); //+ (返信ent.HomepageUrl == "http://" ? "" : 返信ent.HomepageUrl) + " " string html9 = " " + "<span class=\"SubDateHeader\">投稿日:</span>" + "<span class=\"SubDate\">" + dt2.ToString("yyyy/MM/dd HH:mm:ss") + " " + "</span>" + "</td>" + "</tr>" + "<tr>" + "<td colspan=\"6\" style=\"padding:20px 0px 0px 105px;color:" + 記事ColorCode2 + ";\">" + 返信ent.記事.Replace("\n", "<br/>"); if (返信ent.添付ファイルlist.Count() != 0) { html9 += "<br/><br/><br/>"; } pn.Controls.Add(new LiteralControl(html9)); string 記事No2 = 返信ent.No.Replace("No:", ""); int counter2 = 1; foreach (var ls in 返信ent.添付ファイルlist) { ダウンロード用LinkButton lkb = new ダウンロード用LinkButton(記事No2, ddlスレッド選択.SelectedValue); lkb.ID = "dl" + 投稿Ent.カテゴリ名 + 記事No2 + counter2; lkb.Click += new EventHandler(lkbDownLoad_Click); lkb.Text = ls; lkb.Style.Add(HtmlTextWriterStyle.FontSize, "12px"); pn.Controls.Add(lkb); string html6 = "<br/>"; pn.Controls.Add(new LiteralControl(html6)); counter2++; } string html7 = "</td>" + "</tr>" + "<tr>" + "<td><br/></td>" + "</tr>"; pn.Controls.Add(new LiteralControl(html7)); } string html8 = "</table>"; pn.Controls.Add(new LiteralControl(html8)); } } // 表示しているページ番号をセッションに保存 Session["PageNumber"] = rdataset.作成グループNo; SetPageSelector(rdataset); Session["MaxPageNumber"] = (int)Math.Ceiling((double)rdataset.メイン記事数 / 10); //Session["Panel"] = pn; }
void lkbDownLoad_Click(object sender, EventArgs e) { ダウンロード用LinkButton lkb = sender as ダウンロード用LinkButton; string FileName = lkb.Text; #if DEBUG // ダウンロードテスト用 string URL = "http://www.kusurinonakayama.jp/PharmacyTool/ClientBin/掲示板資料/全般/1015/11032601.PDF"; #elif NAKAYAMA string URL = "http://www.kusurinonakayama.jp/PharmacyTool/ClientBin/掲示板資料/" + lkb.スレッド名 + "/" + lkb.投稿ID + "/" + lkb.Text; #else // ダウンロードテスト用 string URL = "http://www.kusurinonakayama.jp/PharmacyTool/ClientBin/掲示板資料/全般/1015/11032601.PDF"; #endif Response.Redirect(URL); #region スニペット // ダウンロード用LinkButton lkb = sender as ダウンロード用LinkButton; // string FileName = lkb.Text; // string MIMETYPE = null; // var sepa = FileName.Split('.'); // if (sepa.Count() != 0) // { // MIMETYPE = MIMETYPE_DIC[sepa[sepa.Count() - 1].ToLower()]; // } // else // { // MIMETYPE = MIMETYPE_DIC["exe"]; // } // string FilePathBase = null; //#if DEBUG // FilePathBase = PharmacyToolMobile.Properties.Settings.Default.Upload掲示板FileRootPathDEBUG; //#elif NAKAYAMA // FilePathBase = PharmacyToolMobile.Properties.Settings.Default.Upload掲示板FileRootPathNAKAYAMA; //#else // FilePathBase = PharmacyToolMobile.Properties.Settings.Default.Upload掲示板FileRootPathDEBUG; //#endif // if (FilePathBase == null) // { // throw new Exception("FilePathBaseが指定されていません。"); // } // string FilePath = Path.Combine(FilePathBase, (lkb.スレッド名 + "\\" + lkb.投稿ID + "\\" + lkb.Text)); // //if (FilePath == "") // //{ // // return; // //} // //// Response情報クリア // //Response.ClearContent(); // //// HTTPヘッダー情報設定 // //Response.AddHeader("Content-Disposition", "attachment;filename=①ファイル名"); // //Response.ContentType = ②MIME; // //// ファイル書込(データによりResponse.WriteFile()、Response.Write()、Response.BinaryWrite()を使い分ける。) // //Response.WriteFile(sFilePath); // //// レスポンス終了 // //Response.End(); // Response.ContentType = MIMETYPE; // Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName); // Response.Flush(); // Response.WriteFile(FilePath); // Response.End(); #endregion }